Golang 의 AES,DES,3DES 복호화,ECB,CBC 등 다양한 모델 조합 을 지원 하 며 JAVA,PHP 등 언어 를 호 환 합 니 다.

OpenSsl encryption:OpenSSL 라 이브 러 리 의 기능 포장 은 대칭 과 비대 칭 암호 화 및 복호화 에 사 용 됩 니 다.
  • AES-ECB
  • AES-CBC
  • DES-ECB
  • DES-CBC
  • 3DES-ECB
  • 3DES-CBC

  • 설치 하 다.
    go get -u github.com/thinkoner/openssl

    사용법
    AES
    키 의 길 이 는 16/24/32 글자(128/192/256 비트)일 수 있 습 니 다.
    AES-ECB:
    src := []byte("123456")
    key := []byte("1234567890123456")
    dst , _ := openssl.AesECBEncrypt(src, key, openssl.PKCS7_PADDING)
    fmt.Printf(base64.StdEncoding.EncodeToString(dst))  // yXVUkR45PFz0UfpbDB8/ew==
    
    dst , _ = openssl.AesECBDecrypt(dst, key, openssl.PKCS7_PADDING)
    fmt.Println(string(dst)) // 123456

    AES-CBC:
    src := []byte("123456")
    key := []byte("1234567890123456")
    iv := []byte("1234567890123456")
    dst , _ := openssl.AesCBCEncrypt(src, key, iv, openssl.PKCS7_PADDING)
    fmt.Println(base64.StdEncoding.EncodeToString(dst)) // 1jdzWuniG6UMtoa3T6uNLA==
    
    dst , _ = openssl.AesCBCDecrypt(dst, key, iv, openssl.PKCS7_PADDING)
    fmt.Println(string(dst)) // 123456

    DES
    키 의 길 이 는 8 글자(64 비트)여야 합 니 다.
    DES-ECB:
    openssl.DesECBEncrypt(src, key, openssl.PKCS7_PADDING)
    openssl.DesECBDecrypt(src, key, openssl.PKCS7_PADDING)

    DES-CBC:
    openssl.DesCBCEncrypt(src, key, iv, openssl.PKCS7_PADDING)
    openssl.DesCBCDecrypt(src, key, iv, openssl.PKCS7_PADDING)

    3DES
    키 의 길 이 는 24 글자(192 비트)여야 합 니 다.
    3DES-ECB:
    openssl.Des3ECBEncrypt(src, key, openssl.PKCS7_PADDING)
    openssl.Des3ECBDecrypt(src, key, openssl.PKCS7_PADDING)

    3DES-CBC:
    openssl.Des3CBCEncrypt(src, key, iv, openssl.PKCS7_PADDING)
    openssl.Des3CBCDecrypt(src, key, iv, openssl.PKCS7_PADDING)

    좋은 웹페이지 즐겨찾기