Closed ssmallbirds closed 5 years ago
sm-crypto-master中的sm4.js的加密key是否必须是数组格式,加密内容是否必须是数组格式而且是16位 const key = [0x01, 0x23, 0x45, 0x67, 0x89, 0xab, 0xcd, 0xef, 0xfe, 0xdc, 0xba, 0x98, 0x76, 0x54, 0x32, 0x10];
let encryptData = sm4.encrypt([0x01, 0x23, 0x45, 0x67, 0x89, 0xab, 0xcd, 0xef, 0xfe, 0xdc, 0xba, 0x98, 0x76, 0x54]) 解密结果的数据格式是否可以转换
可以转换的,具体怎么转换得根据你们前后端要的数据格式来转。
1.你可以改写它的算法。输入,输出改成你要的格式 2.可以在它基础上改写。比如输入 utf8 string类型的key,如何转成16进制。可以解析utf8字符串到16进制,在hexToArray,成它现在输入格式。输出的话,改写它算法从byte数组输出转出你要的格式。比如arrayBufferToBase64。byte数组转base64输出。或者用它现有的输出16进制数组转成你要的格式 可以看下我博客里写的注意事项: https://blog.csdn.net/Asia_ZhangQQ/article/details/100734512 觉得有用的话,给个star吧
我用sm2.lua生成的公私钥,用你这个sm2.js签名验签出错,我的公私钥格式是pem格式。还是你的这个sm2.js,必须要用你自己生成的公私钥
我用sm2.lua生成的公私钥,用你这个sm2.js签名验签出错,我的公私钥格式是pem格式。还是你的这个sm2.js,必须要用你自己生成的公私钥 不是必须用这里生成的公私钥,你自己生成的也可以,只要生成证书没问题就行,格式pem,crt,p12都可以,证书输出有16进制,也有base64的。注意证书别错。我用的OpenSSL自己生成加入公司等信息,没用这里生成的。签名出错,有多方面原因,得看下是公私钥,还是输入以及使用不对导致
sm-crypto-master中的sm4.js的加密key是否必须是数组格式,加密内容是否必须是数组格式而且是16位 const key = [0x01, 0x23, 0x45, 0x67, 0x89, 0xab, 0xcd, 0xef, 0xfe, 0xdc, 0xba, 0x98, 0x76, 0x54, 0x32, 0x10];
let encryptData = sm4.encrypt([0x01, 0x23, 0x45, 0x67, 0x89, 0xab, 0xcd, 0xef, 0xfe, 0xdc, 0xba, 0x98, 0x76, 0x54]) 解密结果的数据格式是否可以转换