首页 > 其他分享 >jsencrypt与sm-crypto对url加解密处理

jsencrypt与sm-crypto对url加解密处理

时间:2023-04-13 15:14:16浏览次数:61  
标签:const url decrypt 加解密 crypto sm msg jsencrypt

1.jsencrypt 公钥私钥随便找个网站生成(https://www.bejson.com/enc/rsa/)

1.安装包:npm i jsencrypt --save
2.封装函数
import { JSEncrypt } from 'jsencrypt';
// 加密  msg为需要加密的字符串,返回加密后的字符串
export function setEncrypt(msg) {
  const jsencrypt = new JSEncrypt();
  jsencrypt.setPublicKey('公钥');
  return jsencrypt.encrypt(msg);
}

// 解密 msg为加密后的字符串,返回解密返回的字符串
export function decrypt(msg) {
  const decrypt = new JSEncrypt();
  decrypt.setPrivateKey('私钥');
  const decryptMsg = decrypt.decrypt(msg);
  return decryptMsg;
}

2.sm-crypto

1.安装包: npm i sm-crypto --save
2.封装函数
import { sm2 } from 'sm-crypto';
const keypair = sm2.generateKeyPairHex()
//可生成一对公私钥(生成后写死调用)
const publicKey = keypair.publicKey // 公钥
const privateKey = keypair.privateKey // 私钥
const PBLICKEY = '041a9f945535fb9be8f9ae11299a82baa99762ebdea672a902c85c986d70fd4b8dc841b062ff0cf964a930ae4a0ac3cedbaf1f46f983f60d3bb68f3f27a89a8b7c'
const PRIVATEKEY = '16e73c8c3646d7d724efb8fa56e2616da6a824ae81ad6c91026b2a05d1c2d0e1'

// 加密
export function setEncrypt(msg) {
  const pubKey = `${PBLICKEY}`; // 公钥
  const cipherMode = 1; // 1 - C1C3C2,0 - C1C2C3,默认为1
  const encryptData = sm2.doEncrypt(msg, pubKey, cipherMode); // 加密结果
  return encryptData;
}

// 解密
export function decrypt(msg) {
  const priKey = `${PRIVATEKEY}`; // 私钥
  const cipherMode = 1; // 1 - C1C3C2,0 - C1C2C3,默认为1
  const decryptData = sm2.doDecrypt(msg, priKey, cipherMode); // 解密结果
  return decryptData;
}

标签:const,url,decrypt,加解密,crypto,sm,msg,jsencrypt
From: https://www.cnblogs.com/songkomei/p/17314872.html

相关文章

  • curl 命令
    简介:curl是常用的命令行工具,用来请求Web服务器。它的名字就是客户端(client)的URL工具的意思。它的功能非常强大,命令行参数多达几十种。如果熟练的话,完全可以取代Postman这一类的图形界面工具。如果在一个curl命令中不指定具体的方法,那么默认的就是使用GET方法。对于其它......
  • Java:使用hutool工具类UrlBuilder、urlQuery构建url查询参数
    依赖<dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>5.4.6</version></dependency>url查询参数构建packagecom.example;importcn.hutool.core.net.url.UrlQuery;im......
  • WSDL的URL生成WSDL文件
    1.最简单的方式就url用浏览器打开,然后右键另存为,记得保存的后缀名改成wsdl2.利用软件soapui 选中,右键,导出 ......
  • windows环境下python3安装Crypto
    pycrypto、pycrytodome和crypto是一个东西,crypto在python上面的名字是pycrypto,它是一个第三方库,但是已经停止更新三年了,所以不建议安装这个库;这个时候pycryptodome就来了,它是pycrypto的延伸版本,用法和pycrypto是一模一样的;所以,我现在告诉大家一种解决方法--直接安装:pipinstallpy......
  • UVa 113 / POJ 2109 Power of Cryptography (使用double处理大整数&泰勒公式与误差分
    113-PowerofCryptographyTimelimit:3.000secondshttp://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=99&page=show_problem&problem=49http://poj.org/problem?id=2109题意:给出n和p,求出 ,但是p可以很大()如何存储p?不用大数可不可以?先看看double......
  • 【shell】curl 命令出现000返回码
    背景业务过程中,使用put接口调用修改时,curl返回的码是000原因put修改的是相同的数据,业务端返回接口较长页面调用swagger,很长时间后才返回200通过加--connect-timeout100-m300解决(主要是-m参数)----connect-timeout<seconds>设置最大请求时间-m/--max-time......
  • JavaScript Window.Location - 获取当前页面地址(URL)并重定向到新页面。
    JavaScriptWindow.Location-获取当前页面地址(URL)并重定向到新页面。1、常用:window.location.href//返回当前页面的href(URL)window.location.host//或window.location.hostname//返回web主机的域名或IP地址,window.location.pathname//返回当前页面的路径或......
  • 全网最详细中英文ChatGPT-GPT-4示例文档-场景问题智能生成从0到1快速入门——官网推荐
    目录Introduce简介setting设置Prompt提示Sampleresponse回复样本APIrequest接口请求python接口请求示例node.js接口请求示例curl命令示例json格式示例其它资料下载ChatGPT是目前最先进的AI聊天机器人,它能够理解图片和文字,生成流畅和有趣的回答。如果你想跟上AI时代的潮流......
  • 全网最详细中英文ChatGPT-GPT-4示例文档-智能多功能学习机从0到1快速入门——官网推荐
    目录Introduce简介setting设置Prompt提示Sampleresponse回复样本APIrequest接口请求python接口请求示例node.js接口请求示例curl命令示例json格式示例其它资料下载ChatGPT是目前最先进的AI聊天机器人,它能够理解图片和文字,生成流畅和有趣的回答。如果你想跟上AI时代的潮流......
  • 全网最详细中英文ChatGPT-GPT-4示例文档-智能评论创建从0到1快速入门——官网推荐的48
    目录Introduce简介setting设置Prompt提示Sampleresponse回复样本APIrequest接口请求python接口请求示例node.js接口请求示例curl命令示例json格式示例其它资料下载ChatGPT是目前最先进的AI聊天机器人,它能够理解图片和文字,生成流畅和有趣的回答。如果你想跟上AI时代的潮流......