Open zoeeer opened 1 year ago
待加密内容中,某个字节大于等于 0x80 时,加密结果错误。
使用在线工具 http://www.lzltool.com/SM4 的加密结果作为对比。
以下例子中使用 key = 'ABCDEFGHIJKLMNOP'
key = 'ABCDEFGHIJKLMNOP'
const SM4 = require('gm-crypt').sm4 const sm4 = new SM4( { key: 'ABCDEFGHIJKLMNOP', mode: 'ecb' } );
sm4.encrypt( Buffer.from('0080', 'hex') ) // 加密结果:paO8EVoN9892D5bnp5uKxg== // 正确结果应为:JA6bac2q2coRfY3Gh4vDDA==
sm4.encrypt( Buffer.from('0079', 'hex') ) // ZUbIPsOy2dqmhLgH0baOaw== // 结果正确
问题
待加密内容中,某个字节大于等于 0x80 时,加密结果错误。
校验方法
使用在线工具 http://www.lzltool.com/SM4 的加密结果作为对比。
例子
初始化
以下例子中使用
key = 'ABCDEFGHIJKLMNOP'
例1:加密 0x0080 错误
例2:加密 0x0079 正确