vue中如何使用SM4国密来加密?
最近做一个项目,登录接口的账号密码两个参数后端规定的是用国密SM4来加密,以前从来没用过这个方法,也百度了一下,但文章了了无几,而且基本内容都是一样的,因为这种加密方式大部分都是java用来加密的,百度上关于SM4加密的大部分都是说的java如何实现,但关于javascript如何加密就只看到有一个js代码,是一个大佬根据java的代码改编的,但不知道为啥使用这个代码加密出来的数据后台解密不了,后端是用java写的,人家把他加密的结果给我发过来,答案不一样,这就尬住了。这个项目安卓和ios早都写完了,所以让后端来更改加密方式不到万不得已是不可能的,给我卡了一整天,终于和同事大量的翻找文章找到一个包,最后试验了一下可以使用,是在vue中使用的。
这里先给放上这个包:http://npm.taobao.org/package/gm-crypt
1.首先先安装这个包 :$ npm install gm-crypt ;
2.然后在登录的函数中引用:如下
export default {components: {},props: {},data() {return {Account: "", //用户账号Pwd: "", //用户密码time: ""};},computed: {},created() {},watch: {},methods: {// 登录login() {// 引用sm4包进行加密const SM4 = require("gm-crypt").sm4;let sm4Config = {//配置sm4参数key: "HENG1AN2WEN3YIN4",//这里这个key值是跟后端要的mode: "ecb", // 加密的方式有两种,ecb和cbc两种,也是看后端如何定义的,不过要是cbc的话下面还要加一个iv的参数,ecb不用cipherType: "base64" // };let sm4 = new SM4(sm4Config);//这里new一个函数,将上面的sm4Config作为参数传递进去。然后就可以开心的加密了let Account = sm4.encrypt(this.Account); //账号加密let Pwd = sm4.encrypt(this.Pwd); //密码加密// 获取当前时间。var CurrentTime = new Date().getTime();// 将code用shal加密var code = Account + CurrentTime + "697aa419a779a3b9e5e1ba1a2d83f89c";var VerifyCode = shal.hex_sha1(code).toUpperCase(); //code码
下面的代码就是请求了,就没放上,下面的那个code码是用shal来加密的,账号密码是用SM4来加密的。希望对小伙伴们有所帮助。
vue中如何使用SM4国密来加密?相关推荐
- 使用wireshark抓包,本地环回测试通信数据已经通过SM4国密算法加密
具体操作 本实验采用 本地环回测试 开启wireshark抓包工具,设定端口号 tcp.port == 5099 (5099为服务端对外开启服务的端口号),不可以使用ip.addr指定ip地址,因为本 ...
- SM4国密算法实现分析
SM4国密算法实现分析 代码下载请见 上一篇文章 AES算法实现分析 SM4的说明(pdf):http://download.csdn.net/detail/leechiyang/5008528 算法 ...
- SM2 (含SM3、SM4)国密算法工具QT版,彻底搞懂sm2算法的使用
网上有很多网友问算法SM2怎么使用?什么是压缩公钥和非压缩公钥?xB和yB这参数是什么?怎么使用SM2做加解密?如何签名和验签?有没有工具来验证下? 这里分享个自己用QT造的一个小工具,简单好用,同时 ...
- python商用_python实现sm2和sm4国密(国家商用密码)算法的示例
GMSSL模块介绍 GmSSL是一个开源的加密包的python实现,支持SM2/SM3/SM4等国密(国家商用密码)算法.项目采用对商业应用友好的类BSD开源许可证,开源且可以用于闭源的商业应用. 安 ...
- SM4国密算法整理-流程图
SM4国密算法整理–流程图 前一篇文章没有加入流程图,自己看着也有点晕,现在再次整理下 python代码看我之前的文章: 请点击. 加密 计算轮秘钥 #mermaid-svg-LmTcVIQC7cAr ...
- 堡垒机应用发布服务器是干嘛的_支持Web UI数据库审计和敏感数据国密算法加密,JumpServer堡垒机v2.5.0发布丨Release Notes...
11月18日,JumpServer开源堡垒机正式发布v2.5.0版本.该版本的新增功能包括:支持Web UI数据库审计(X-Pack增强包内).支持敏感数据国密算法加密.新增克隆创建.新增高危命令告警 ...
- 一文搞懂国密SM加密(VIP典藏版)
目录 一.前言 加密概述 对称算法(分组密码算法):AES/DES/3DES/SM4/SM4 非对称算法(公钥密码算法):RSA/DSA/ECC/SM2 摘要算法(杂凑算法):MD5/SHA-I/SM ...
- 2023,国密HTTPS加密普及元年
"2018网站空间可信峰会"(2008.12.17)首次提出了"中国网络空间可信生态建设框架"的构想,并提出了国密SSL证书的应用思路--先"双轨制& ...
- java sm3国密算法加密、验证工具类
java sm3国密算法加密.验证工具类 说明 maven依赖 完整代码 测试 说明 由于本人并不专于算法和密码学,所以如果发现工具类存在问题或者可优化地方,欢迎评论处提出. 工具类也可以直接使用封装 ...
最新文章
- Swift 绘图板功能完善以及终极优化
- javascript瀑布流效果
- 随机生成1024个数,存入一段内存,用指针实现获取1024个数的最大数地址,最小数地址
- JavaScript实现自适应宽度的瀑布流
- GitHub通过Git上传文件(夹)
- 【读书笔记】—— 《马克思恩克斯全集》
- Java-集合第五篇Map集合
- 看jQuery源码的技巧
- 高德地图获取经纬度并逆定位获取地理位置名称(原生)
- 私域流量和公域流量的区别
- SQL 2008下载地址以及全新安装详细过程
- 自动化脚本开发,真香.....
- 闲鱼搜索相关性——体验与效率平衡的背后
- jQuery UI插件之datepicker的自定义设置
- 【游戏渲染】【译】Unity3D Shader 新手教程(1/6)
- 标视界:值得您信赖的商标查询网
- 计算机与软件工程-研究生复试-专业面试-零碎基础知识-2
- 99条为人处事经典法则剩下的一条由你自己来感悟
- VirtualBOX 虚拟机安装 OS X 10.9 Mavericks 及 Xcode 5,本人X220亲测
- linux应用程序固件升级,升级软件包