sm4加密和sm3加密

sm4加密和sm3加密sm4加密有32位key值加密和16位key值加密加粗样式sm4中32位加密:可以参考:https://www.npmjs.com/package/@haici/gmsm4sm4中16位加密:可以参考:https://blog.csdn.net/qq_34574204/article/details/107961807?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522162501640416780366595087%2522%252C%

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

sm4加密有32位key值加密和16位key值加密

加粗样式sm4中32位加密:可以参考:

安装

npm install @haici/gmsm4 --save

使用方法

一、通过 baseKey 获取加密秘钥 key约定 baseKey 为字符串(长度不限)

import { genKey } from '@haici/gmsm4';

const key = genKey('123456789');

二、使用 ECB 模式加密key 要求为 32 位十六进制字符串

import sm4,{ genKey } from '@haici/gmsm4';

let text = 'This is 一段明文内容!';
let key = genKey('123456789');

let enData = sm4.encryptWithECB(key,text); //加密
let deData = sm4.encryptWithECB(key,enData); //解密

三、使用 CBC 模式加密iv 和 key 要求为 32 位十六进制字符串

import sm4, { genKey } from '@haici/gmsm4';

let text = 'This is 一段明文内容!';
let iv = '00000000000000000000000000000000';
let key = genKey('123456789');

let enData = sm4.encryptWithCBC(key,iv,text); //加密
let deData = sm4.decryptWithCBC(key,iv,enData); //解密

sm4中16位加密:可以参考:

安装依赖:

npm install gm-crypt

使用

  // 引用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); //账号加密

sm3加密:可以参考

引入

npm install sm3
const sm3 = require('sm3');
const hash = sm3('值');
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/185581.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • JavaScript 时间戳格式化日期

    JavaScript 时间戳格式化日期JavaScript时间戳格式化日期项目中从后台获取接口数据时常需要按自己的需求将时间戳转化为对应的日期格式。//时间戳格式化为日期functionformatDate(timestamp,fmt){//这里传入的timestamp应该是Number数值,如果是字符串,需要先转换为Number//vartimestamp=parseInt(timestamp)vardate=newDate(timestamp)if(/(y+)/.tes

    2022年10月27日
  • 什么是Linux主机?

    什么是Linux主机?

  • 使用深度图重建世界坐标

    使用深度图重建世界坐标参考网址:https://blog.csdn.net/puppet_master/article/details/77489948首先建立一个绘制世界坐标的项目。保证物体的顶点在0到1范围之内,这样颜色能够有意义的表示物体的世界坐标位置。然后编写一个shader,用于绘制世界坐标位置:Shader"Unlit/DrawWorldPoint&quo

  • 联想笔记本电脑键盘亮了屏幕不亮_联想笔记本电脑键盘为什么不亮

    联想笔记本电脑键盘亮了屏幕不亮_联想笔记本电脑键盘为什么不亮现在不管是工作还是学习,已经离不开电脑了,它的出现带给我们极大的方便,笔记本以它小巧灵活的体积更是受到了很多学生和商务人士的喜欢,可是市面上有那么多品牌的笔记本,应该怎么正确做出选择呢?下面小编就为大家带来联想笔记本电脑开机键亮但是黑屏,联想笔记本键盘没反应?联想笔记本电脑开机键亮但是黑屏1、若遇到联想笔记本电脑开机键亮但是黑屏的情况,可以拆卸掉笔记本背面的电池,只用电源适配器连接电脑,尝试开机一…

  • python google auth totp_Google Authenticator TOTP原理详解(以Python为例)「建议收藏」

    python google auth totp_Google Authenticator TOTP原理详解(以Python为例)「建议收藏」如果有疑问,请点击此处,然后发表评论交流,作者会及时回复(也可以直接在当前文章评论)。——-谢谢您的参考,如有疑问,欢迎交流一、原理详解(图片可以点击然后放大查看)二、验证1、下载Google谷歌身份验证器。2、通过Python的qrcode和pyotp模块生成二维码。3、然后使用下载的谷歌身份验证器扫描生成的二维码如果没有谷歌服务,则选择输入秘钥,在账户明处填入name参数,在秘…

    2022年10月29日
  • php面试题目100及最佳答案_社区工作者面试题目

    php面试题目100及最佳答案_社区工作者面试题目Php面试100题汇总1,Http和Https的区别第一:http是超文本传输协议,信息是明文传输,https是具有安全性的ssl加密传输协议第二:http和https使用的是完全不同的连接方式,端口也不一样,前者80或者443第三:http连接很简单,是无状态的。https协议是由ssl+http协议构建的可进行加密传输,身份认证的网络协议。2.什么方法来加快页面的加载速度1,用到服务器资源

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号