GO-使用golang解密使用php的openssl_encrypt加密的结果,以及关于和java通信时的一些说明
注:加密类型为AES-128-CBC/AES-256-CBC的参考– https://blog.csdn.net/a_lzq/article/details/108204967
直接看源码
<?php
$key = "1234567887654321";
var_dump(bin2hex(openssl_encrypt('1234','AES-128-ECB',$key,OPENSSL_RAW_DATA )));
结果
4f87a3233278f5f9539ffd3b36b5ee37
go源码
func main() {
key := []byte("1234567887654321")
c,_ := aes.NewCipher(key)
orData , _:= hex.DecodeString("4f87a3233278f5f9539ffd3b36b5ee37")
ldata := len(orData)
decrypted := make([]byte, ldata)
c.Decrypt(decrypted, orData)
fmt.Println(string(PKCS5UnPadding(NullUnPadding(decrypted))))
}
func NullUnPadding(in []byte) []byte {
return bytes.TrimRight(in, string([]byte{
0}))
}
func PKCS5UnPadding(src []byte) []byte<