Closed lanemy closed 3 years ago
发现一个现象, 前端用sm4加密, 原文包含emoji表情,以字符串形式传入, 后端解密发现emoji表情信息为乱码, 其余内容正常 前端自己加密, 自己解密, emoji正常; 后端对相同原文自己加密自己解密, emoji正常; 不进行加解密, emoji正常;
调试了一下发现, 如果原文入参转成数组, 比如 Buffer.from("😃"), 后端可以正常处理, 对后端包含emoji表情的密文, 解密后以数组输出, 再用Buffer.from("解密后的数组").toString(), 也可以正常显示了
感觉 utf8ToArray()以及arrayToUtf8()这两个函数对于emoji的处理需要优化支持一下 非前端开发, 能力有限, 只是找到了一个暂时解决的办法.
0.2.4 版本已支持:
https://github.com/JuneAndGreen/sm-crypto/commit/653a32fbc650dc4a60b6518e30415293ed782d74#diff-f66cf4b484d215da68ffdae4cb8cbbc94b25bfde6369bec7605168379326591bR53
发现一个现象, 前端用sm4加密, 原文包含emoji表情,以字符串形式传入, 后端解密发现emoji表情信息为乱码, 其余内容正常 前端自己加密, 自己解密, emoji正常; 后端对相同原文自己加密自己解密, emoji正常; 不进行加解密, emoji正常;
调试了一下发现, 如果原文入参转成数组, 比如 Buffer.from("😃"), 后端可以正常处理, 对后端包含emoji表情的密文, 解密后以数组输出, 再用Buffer.from("解密后的数组").toString(), 也可以正常显示了
感觉 utf8ToArray()以及arrayToUtf8()这两个函数对于emoji的处理需要优化支持一下 非前端开发, 能力有限, 只是找到了一个暂时解决的办法.