这个是什么js加密算法 js

在前段时间已用JavaScript实现,下面来講下JS的SM2算法的非对称加解密这个在客户端js加密算法的应用场景可能会更多些,比如我们平时登录的网站的密码如果没有使用SSL证书js加密算法一般会是明文传输这样会很不安全,这时可以考虑结合使用非对称算法js加密算法将服务器端的公钥输出在客户端,客户端使用公钥js加密算法登录时密码以密文方式传给服务器端再由相应私钥解密得到明文数据。

SM2非对称js加密算法的结果由C1,C2,C3三部分组成其中C1是生成随机數的计算出的椭圆曲线点,C2是密文数据C3是SM3的摘要值。最开始的国密标准的结果是按C1C2C3顺序的新标准的是按C1C3C2顺序存放的,因此我这边在做SM2js加密算法时新增加了js加密算法结果的顺序参数以配置兼容之前的SM2算法js加密算法。

SM2国密算法有点不一样的是同时使用了SM3摘要算法验证,即SM2js加密算法结果中的C3为SM3摘要这次也使用上次JS签名进行SM3摘要计算方法,修正了JS移位运算转换为Byte字节问题对于溢出部分截取后8位处理。

用JS來写算法毕竟对客户端浏览器的脚本执行效率还是有很大考验的SM2算法中进行大量的移位和异或计算,对数值的运算很多目前JS中的大数BigInteger類处理,IE浏览器中会“友情提示”:停止运行此脚本吗此页面上的脚本造成Web浏览器运行速度减慢。如果继续运行您的计算机将可能停圵响应。可想而知在IE里面用JS跑SM2算法在运算时开销很大好像遇到“死循环”了,而在用Firefox浏览器测试用JS做SM2算法虽然没有直接提示脚本正忙,但仍然反映速度不乐观因此在JavaScript处理大数的运算这块还有很多需要优化的。

最后提供本次JS实现SM2算法加解密的示例页面,首先可以先生荿SM2密钥对然后再做SM2js加密算法和解密,最下面还提供了使用SM2证书做非对称js加密算法的示例密文的格式默认是按C1C3C2顺序以Base64编码的,应该可以囷密码机或UKey做解密互通的SM2算法加解密地址为:。

优质简历模板目前最前全的模板收藏,需要换工作的小伙伴们可以试试

我要回帖

更多关于 js加密算法 的文章

 

随机推荐