最近做一个项目,登录接口的账号密码两个参数后端规定的是用国密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国密来加密?相关推荐

  1. 使用wireshark抓包,本地环回测试通信数据已经通过SM4国密算法加密

    具体操作 本实验采用 本地环回测试 开启wireshark抓包工具,设定端口号 tcp.port == 5099 (5099为服务端对外开启服务的端口号),不可以使用ip.addr指定ip地址,因为本 ...

  2. SM4国密算法实现分析

    SM4国密算法实现分析 代码下载请见 上一篇文章 AES算法实现分析 SM4的说明(pdf):http://download.csdn.net/detail/leechiyang/5008528 算法 ...

  3. SM2 (含SM3、SM4)国密算法工具QT版,彻底搞懂sm2算法的使用

    网上有很多网友问算法SM2怎么使用?什么是压缩公钥和非压缩公钥?xB和yB这参数是什么?怎么使用SM2做加解密?如何签名和验签?有没有工具来验证下? 这里分享个自己用QT造的一个小工具,简单好用,同时 ...

  4. python商用_python实现sm2和sm4国密(国家商用密码)算法的示例

    GMSSL模块介绍 GmSSL是一个开源的加密包的python实现,支持SM2/SM3/SM4等国密(国家商用密码)算法.项目采用对商业应用友好的类BSD开源许可证,开源且可以用于闭源的商业应用. 安 ...

  5. SM4国密算法整理-流程图

    SM4国密算法整理–流程图 前一篇文章没有加入流程图,自己看着也有点晕,现在再次整理下 python代码看我之前的文章: 请点击. 加密 计算轮秘钥 #mermaid-svg-LmTcVIQC7cAr ...

  6. 堡垒机应用发布服务器是干嘛的_支持Web UI数据库审计和敏感数据国密算法加密,JumpServer堡垒机v2.5.0发布丨Release Notes...

    11月18日,JumpServer开源堡垒机正式发布v2.5.0版本.该版本的新增功能包括:支持Web UI数据库审计(X-Pack增强包内).支持敏感数据国密算法加密.新增克隆创建.新增高危命令告警 ...

  7. 一文搞懂国密SM加密(VIP典藏版)

    目录 一.前言 加密概述 对称算法(分组密码算法):AES/DES/3DES/SM4/SM4 非对称算法(公钥密码算法):RSA/DSA/ECC/SM2 摘要算法(杂凑算法):MD5/SHA-I/SM ...

  8. 2023,国密HTTPS加密普及元年

    "2018网站空间可信峰会"(2008.12.17)首次提出了"中国网络空间可信生态建设框架"的构想,并提出了国密SSL证书的应用思路--先"双轨制& ...

  9. java sm3国密算法加密、验证工具类

    java sm3国密算法加密.验证工具类 说明 maven依赖 完整代码 测试 说明 由于本人并不专于算法和密码学,所以如果发现工具类存在问题或者可优化地方,欢迎评论处提出. 工具类也可以直接使用封装 ...

最新文章

  1. Swift 绘图板功能完善以及终极优化
  2. javascript瀑布流效果
  3. 随机生成1024个数,存入一段内存,用指针实现获取1024个数的最大数地址,最小数地址
  4. JavaScript实现自适应宽度的瀑布流
  5. GitHub通过Git上传文件(夹)
  6. 【读书笔记】—— 《马克思恩克斯全集》
  7. Java-集合第五篇Map集合
  8. 看jQuery源码的技巧
  9. 高德地图获取经纬度并逆定位获取地理位置名称(原生)
  10. 私域流量和公域流量的区别
  11. SQL 2008下载地址以及全新安装详细过程
  12. 自动化脚本开发,真香.....
  13. 闲鱼搜索相关性——体验与效率平衡的背后
  14. jQuery UI插件之datepicker的自定义设置
  15. 【游戏渲染】【译】Unity3D Shader 新手教程(1/6)
  16. 标视界:值得您信赖的商标查询网
  17. 计算机与软件工程-研究生复试-专业面试-零碎基础知识-2
  18. 99条为人处事经典法则剩下的一条由你自己来感悟
  19. VirtualBOX 虚拟机安装 OS X 10.9 Mavericks 及 Xcode 5,本人X220亲测
  20. linux应用程序固件升级,升级软件包

热门文章

  1. Acer Predator PT715 Quanta ZGL REV3A笔记本电路原理图纸
  2. 4.四大组件的工作过程
  3. 平衡二叉树 treap
  4. linux win10共存,折腾 ubuntu 与 win10 共存
  5. 以前flyback的osdiy
  6. 转:花了一个周末,搞定GnuCash之信用卡和个人借贷
  7. 微信开发.Net 接入示例
  8. 猿人学第二题,手撕OB混淆给你看(step06-控制流平坦化)
  9. 中国机械对流烘箱行业市场供需与战略研究报告
  10. 援非洲,清华曹丰泽:我要证明,理想主义的路是走得通的!