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('值');
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • pycharm全局搜索ctrl+shift+f(win10快捷键冲突)

    pycharm全局搜索ctrl+shift+f(win10快捷键冲突)pycharm全局搜索ctrl+shift+f按了后没有任何效果,是因为跟win10的输入法冲突,只需要设置中添加ctrl+shift+g

    2022年5月31日
    30
  • PS 命令之get-adgroupmember!

    PS 命令之get-adgroupmember!如果get-adgroup是查询我们的用户组的话,那么Get-adgroupmember就是查询出我们的组的成员的的命令了,这个命令的使用方式多数场景和我们的上面命令get-adgroup一起使用了。我们先来看怎么得出某个组的成员

    2022年7月13日
    17
  • 基于Spring MVC + Spring + MyBatis的【图书信息管理系统(一)】

    基于Spring MVC + Spring + MyBatis的【图书信息管理系统(一)】资源下载:https://download.csdn.net/download/weixin_44893902/33163160一、语言和环境1.实现语言:JAVA语言。2.环境要求:MyEclipse/Eclipse+Tomcat+MySql。3.使用技术:SpringMVC+Spring+Mybatis。二、实现功能随着校内图书馆的发展,现需要制作图书信息管理系统,主要功能如下:1.首页默认显示所有图书信息2.鼠标悬停某行数据时,以线性过渡动画显示光棒效果3.用.

    2022年6月3日
    40
  • 访问数据库使用redis作为mysql的缓存(redis和mysql结合)

    访问数据库使用redis作为mysql的缓存(redis和mysql结合)首先声明一下,我是在一个SSM项目的基础上进行优化的,所以就不进行基础的介绍了。下面我也补充一些知识点:redis:内存型数据库,有持久化功能,具备分布式特性,可靠性高,适用于对读写效率要求都很高,数据处理业务复杂和对安全性要求较高的系统(如新浪微博的计数和微博发布部分系统,对数据安全性、读写要求都很高)。缓存机制说明:所有的查询结果都放进了缓存,也就是把MySQL查询的结果放…

    2022年6月17日
    36
  • bioenergized_omni info panel

    bioenergized_omni info panelbzeromemset bcopy、bzero和bcmp是传统BSD的函数,属于POSIX标准;mem*是C90(以及C99)标准的C函数。区别在于,如果你打算把程序弄到一个符合C90/C99,但是不符合POSIX标准的平台时,后者比较有优势。NetBSD的代码中有很多地方使用mem*(他们更偏爱mem*,以利于移植),即使内核也是如此,而…

    2022年8月31日
    2
  • python 机器学习中模型评估和调参

    python 机器学习中模型评估和调参

    2021年11月21日
    47

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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