Open sickworm opened 5 years ago
我在找 sm4 的实现,找到你这来了。虽然很想用,但是你现在的 key 只支持 UTF8 格式,如果可以能否统一为 base64 格式?不然我无法设置16进制表示的 key。
其实前两个月我开始找 JS 的国密算法,目标平台是 chrome 和 react-native。当时我找到 https://github.com/AlverLyu/sm.js 这个仓库,它已经支持 sm2 和 sm3,不过我还是遇到了一些问题。由于作者也不更新了,我就自己 fork 下来修改了一些兼容性和 bug,并增加了 sm2 的加解密接口。数据对象原作者用的是数组,用起来也不太方便,不过我还没时间去改。
我想提一个建议:用 Buffer 代替 TypedArray。Buffer 是 node 的类,但浏览器也有实现, buffer 或 safe-buffer,这两个库已经很成熟了。我现在的项目一开始也是用 TypedArray 实现,用起来并不是很友好,和数组转换的时候容易写出一些bug。而且很多其他第三方库都用的 Buffer,后面就换了。
这是仓库地址,欢迎交流:)https://github.com/sickworm/sm.js
使用TypedArray是考虑浏览器不用引入多余的库。 之后计划加入直接使用TypedArray来当做key. key用base64通用性不高,不过可以加入备选考虑
我在找 sm4 的实现,找到你这来了。虽然很想用,但是你现在的 key 只支持 UTF8 格式,如果可以能否统一为 base64 格式?不然我无法设置16进制表示的 key。
其实前两个月我开始找 JS 的国密算法,目标平台是 chrome 和 react-native。当时我找到 https://github.com/AlverLyu/sm.js 这个仓库,它已经支持 sm2 和 sm3,不过我还是遇到了一些问题。由于作者也不更新了,我就自己 fork 下来修改了一些兼容性和 bug,并增加了 sm2 的加解密接口。数据对象原作者用的是数组,用起来也不太方便,不过我还没时间去改。
我想提一个建议:用 Buffer 代替 TypedArray。Buffer 是 node 的类,但浏览器也有实现, buffer 或 safe-buffer,这两个库已经很成熟了。我现在的项目一开始也是用 TypedArray 实现,用起来并不是很友好,和数组转换的时候容易写出一些bug。而且很多其他第三方库都用的 Buffer,后面就换了。
这是仓库地址,欢迎交流:)https://github.com/sickworm/sm.js