当前位置: 首页 > news >正文

有没有什么做地堆的网站网站建设太金手指六六二五

有没有什么做地堆的网站,网站建设太金手指六六二五,住房城乡建设部网站诚信平台,赣榆哪里有做网站的最近遇到一个数据脱敏处理的需求,想要用一种轻量级的技术实现,必须足够简单并且适用于所有场合如前后端加密传输、路由加密、数据脱敏等。抽时间研究了一下Crypto加密库的一些API,发现完全符合上述需求,扩展也比较容易。 1、前端加…

最近遇到一个数据脱敏处理的需求,想要用一种轻量级的技术实现,必须足够简单并且适用于所有场合如前后端加密传输、路由加密、数据脱敏等。抽时间研究了一下Crypto加密库的一些API,发现完全符合上述需求,扩展也比较容易。

1、前端加解密

1、安装crypto-js,crypto-js是谷歌开发的一个纯JavaScript的加密算法类库,支持多种加密算法,可以很方便的在前端实现加解密操作。

npm install crypto-js --save-dev

2、加解密实现

const CryptoJS = require('crypto-js')// 1.秘钥准备(密钥必须是16位十六进制数)
const key = CryptoJS.enc.Utf8.parse('SECRET_KEY_RIGHT')// 2.偏移量准备(偏移量是可选的,iv称为初始向量,不同的iv加密后的字符串不同,iv也必须是16位十六进制数)
const iv = CryptoJS.enc.Utf8.parse('SECRET_KEY_RIGHT')const cipherOption = {mode: CryptoJS.mode.ECB,padding: CryptoJS.pad.Pkcs7,iv: iv
}// 3.加密
function encrypt(value) {return CryptoJS.AES.encrypt(value, key, cipherOption).toString() // base64编码
}// 4.解密
function decrypt(value) {return CryptoJS.AES.decrypt(value, key, cipherOption).toString(CryptoJS.enc.Utf8);
}// 5.测试
const value = '19987131172'console.log(encrypt(value)); // zArydT0+/teKeIwlwuvVUQ==console.log(decrypt("zArydT0+/teKeIwlwuvVUQ==")) // 19987131172

2、后端加解密

/*** @description:* @date: 2022/8/17 9:29*/
public class SignUtil {// 加密public static String encrypt(String transformation, String key, String value) {try {Cipher cipher = Cipher.getInstance(transformation);SecretKeySpec sks = new SecretKeySpec(key.getBytes(StandardCharsets.UTF_8), "AES");// Cipher.ENCRYPT_MODE 加密模式cipher.init(Cipher.ENCRYPT_MODE, sks);// 加密byte[] encryptBytes = cipher.doFinal(value.getBytes());return Base64Utils.encodeToString(encryptBytes);} catch (Exception e) {LogUtil.error(e);}return null;}// 解密public static String decrypt(String transformation, String key, String encrypt) {try {Cipher cipher = Cipher.getInstance(transformation);SecretKeySpec sks = new SecretKeySpec(key.getBytes(StandardCharsets.UTF_8), "AES");// Cipher.DECRYPT_MODE 解密模式cipher.init(Cipher.DECRYPT_MODE, sks);// 解密byte[] decryptBytes = cipher.doFinal(Base64.getDecoder().decode(encrypt));return new String(decryptBytes);} catch (Exception e) {LogUtil.error(e);}return null;}
}

测试(我们就拿上述前端加密后的字符串zArydT0+/teKeIwlwuvVUQ==进行测试):

@Test
public void decryptTest() {String transformation = "AES/ECB/PKCS5Padding";String key = "SECRET_KEY_RIGHT";String value = decrypt(transformation, key, "zArydT0+/teKeIwlwuvVUQ==");System.out.println(value); // 19987131172
}
http://www.yayakq.cn/news/629854/

相关文章:

  • 重庆忠县网站建设十大耐玩的网页游戏
  • 深圳网站建设toolcat网站建设php培训
  • 智能模板网站建设收费东营网站建设收益高
  • 怎么弄网站关键词wordpress 文章菜单
  • 鹿邑网站设计公司网站建设的完整流程
  • 常州溧阳市建设局网站如何利用个人nas做网站
  • 购物网站功能报价php网站开发软件是什么
  • 东莞网站建设公司好厦门seo网站管理
  • 运营好的网站制作中心电商网站设计模板dw
  • 淘宝 做网站空间 条件wordpress进销存插件
  • 网站建设优化安徽什么网站可以做微招聘
  • 钓鱼网站下载无锡企业网站制作
  • 网站友情链接模块介绍oa办公系统网址
  • 国外专名做路演的网站网站设计制作在哪里找
  • 重庆市网站备案注册门户网站
  • 自己电脑建设网站土木英才网招聘信息
  • 昆明网站建设推荐向公司申请建设网站申请书
  • 网站建设大数据服务案例静态网站做新闻系统
  • 优秀网站模板欣赏广东网站设计哪家好
  • 网站建设报道稿网站首页的尺寸做多大
  • 网站续费自己做c 做网站的六大对象
  • 个人合法网站怎么做linux下网站开发
  • 凡科建站官网页更换视频甘肃企业网站备案
  • 惠州网站建设一般多少钱做的好的c2c网站
  • 室内设计师第一网站wordpress xml地图
  • 我想要个网站网站界面大小
  • 赤峰建网站的电话吉林seo基础知识
  • 给我一个免费网站吗网站开发公司资质
  • 企业电子商务网站建设的重要性抖音广告投放代理商
  • 做网站php语言用什么工具网站开发指什么软件