位置: IT常识 - 正文

js常用的加密/解密方法(js加密解密源代码)

编辑:rootadmin
js常用的加密/解密方法 1.前言(老司机直接跳过) 为什么js需要加密

推荐整理分享js常用的加密/解密方法(js加密解密源代码),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:js加密后如何解密,js加密解密源代码,js 加密 解密,js 加密 解密,js 加密 解密,js加密后是如何运行的,js 加密 解密,js加解密方法,内容如对您有帮助,希望把文章链接给更多的朋友!

谈到加密,大多数人应用场景都在于后端接口的加密签名校验。这种一般都用于服务端与服务端之间的相互调用,避免第三方使用你的接口做违法违规的事情,这种加密校验比较安全,因为没有暴露在外的代码。

但是前端运行的JavaScript代码不一样,它是运行在浏览器的一种轻量级即时编译型的脚本语言。它是直接运行在用户电脑上的代码,除了在sojson.v6加密过的js代码,普通的js代码对于使用者来说是公开透明的,对于想要非法获取你的数据的人也是公开透明的,那么对于那些想要通过分析你的js代码来盗取你服务器数据的人来说,就是一件十分简单没难度的事情。

2.常用的js加密有哪些

JavaScript的原生函数escape()和unescape()

var code = 'console.log("hello")';var en = escape(code); // console.log%28%22hello%22%29var de = unescape(en); // console.log("hello")document.write(en, '     ', de)

用escape函数加密后,字符变成了%开头形式的特殊编码。

我们也可以用unescape把加密后的js解密回来

md5

https://github.com/blueimp/JavaScript-MD5

var hash = md5('value') // "2063c1608d6e0baf80249c42e2be5804"

MD5算法的原理可简要的叙述为:MD5码以512位分组来处理输入的信息,且每一分组又被划分为16个32位子分组,经过了一系列的处理后,算法的输出由四个32位分组组成,将这四个32位分组级联后将生成一个128位散列值。

md5加密一般用于确保文件和代码的唯一性,可以根据计算代码的md5值来判断代码是否被改变。

des/aes

https://github.com/brix/crypto-js

js常用的加密/解密方法(js加密解密源代码)

DES是一种使用密钥加密的块算法,1977年被美国联邦政府的国家标准局确定为联邦资料处理标准(FIPS),并授权在非密级政府通信中使用

1. 在utils/common.js中 写入公用的方法eg:// 公用方法 import CryptoJS from "../common/crypto-js/crypto-js.js" // 加密// 在main.js中引入export default { // 加密 encryptByDES(message, key) { const keyHex = CryptoJS.enc.Utf8.parse(key); const encrypted = CryptoJS.DES.encrypt(message, keyHex, { mode: CryptoJS.mode.ECB, padding: CryptoJS.pad.Pkcs7, }); return encrypted.toString(); }}2. 在main.js中引入import commonFun from './utils/common.js'//在 vue 的原型链 (prototype) 中注册Vue.prototype.$commonFun = commonFun3. 页面中使用this.$commonFun.encryptByDES(参数1, 参数2);//参数1:需要加密的数据//参数2:加密key

rsa

https://github.com/rzcoder/node-rsa

RSA是被研究得最广泛的公钥算法,从提出到现在已近三十年,经历了各种攻击的考验,逐渐为人们接受,普遍认为是目前最优秀的公钥方案之一。

const NodeRSA = require('node-rsa');const key = new NodeRSA({b: 512});const text = 'Hello RSA!';const encrypted = key.encrypt(text, 'base64');console.log('encrypted: ', encrypted);const decrypted = key.decrypt(encrypted, 'utf8');console.log('decrypted: ', decrypted);

base64

Base64是网络上最常见的用于传输8Bit字节码的编码方式之一,Base64就是一种基于64个可打印字符来表示二进制数据的方法

浏览器的window对象默认就有base64的加解密函数

const code = '(function(){ alert(\'hello\') }())'const en = window.btoa(code); // 加密const de = window.atob(en); // 解密

sha1

https://github.com/emn178/js-sha1

SHA1是一种密码散列函数,美国国家安全局设计,并由美国国家标准技术研究所(NIST)发布为联邦数据处理标准(FIPS)。SHA-1可以生成一个被称为消息摘要的160位(20字节)散列值,散列值通常的呈现形式为40个十六进制数。

sha1('Message to hash');var hash = sha1.create();hash.update('Message to hash');hash.hex();

sha256

https://github.com/emn178/js-sha256

SHA256是一种散列函数算法标准,由美国国家安全局研发,由美国国家标准与技术研究院(NIST)在2001年发布,属于SHA算法之一。和SHA1属于不同算法标准

sha256('Message to hash');sha224('Message to hash');var hash = sha256.create();hash.update('Message to hash');hash.hex();var hash2 = sha256.update('Message to hash');hash2.update('Message2 to hash');hash2.array();// HMACsha256.hmac('key', 'Message to hash');sha224.hmac('key', 'Message to hash');var hash = sha256.hmac.create('key');hash.update('Message to hash');hash.hex();var hash2 = sha256.hmac.update('key', 'Message to hash');hash2.update('Message2 to hash');hash2.array();

如果觉得上边这些加密方式还不够安全,无法达到你的预期,可以使用sojson.v6加密,加密强度在国内排名第一,作者每年都会更新加密算法,不停增加加密强度,既保证了js的运行速度又保证了js的安全性。

本文链接地址:https://www.jiuchutong.com/zhishi/297380.html 转载请保留说明!

上一篇:几个Linux杀死所有进程的方法(linux杀死程序)

下一篇:无需公网IP,远程连接SQL Server数据库【内网穿透】(没有公网ip如何实现外网访问路由器)

  • 保存快捷键是什么(保存快捷键是什么加什么)

    保存快捷键是什么(保存快捷键是什么加什么)

  • 红米k30pro屏幕刷新率是60hz吗(红米k30pro刷屏多少)

    红米k30pro屏幕刷新率是60hz吗(红米k30pro刷屏多少)

  • 华为手机怎么投屏到电视机看电影(华为手机怎么投影屏幕到电视上)

    华为手机怎么投屏到电视机看电影(华为手机怎么投影屏幕到电视上)

  • 手机收钱声音怎么弄(手机收款怎么能有声音)

    手机收钱声音怎么弄(手机收款怎么能有声音)

  • QQ数字专辑怎么赠送好友(qq数字专辑怎么退款)

    QQ数字专辑怎么赠送好友(qq数字专辑怎么退款)

  • vivo什么意思中文意思(vivo是什么意)

    vivo什么意思中文意思(vivo是什么意)

  •  抖音橱窗挂别人商品佣金有吗(抖音橱窗挂别人商品佣金怎么算)

    抖音橱窗挂别人商品佣金有吗(抖音橱窗挂别人商品佣金怎么算)

  • 显卡一直80度会坏吗(显卡80度会重启吗)

    显卡一直80度会坏吗(显卡80度会重启吗)

  • windows键在键盘哪个位置(windows在键盘哪)

    windows键在键盘哪个位置(windows在键盘哪)

  • 云盘空间是什么东西(云盘存储空间)

    云盘空间是什么东西(云盘存储空间)

  • 抖音实名认证可以更改吗(抖音实名认证可以用别人的身份证吗)

    抖音实名认证可以更改吗(抖音实名认证可以用别人的身份证吗)

  • 快手权重是啥意思(什么是快手权重)

    快手权重是啥意思(什么是快手权重)

  • 希捷硬盘vx和vm区别(希捷vx和vm哪个好)

    希捷硬盘vx和vm区别(希捷vx和vm哪个好)

  • oppoa91手机微信视频怎么美颜(oppo8.0微信)

    oppoa91手机微信视频怎么美颜(oppo8.0微信)

  • 电脑怎么全选复制文字(电脑怎么全选复制粘贴文字快捷键)

    电脑怎么全选复制文字(电脑怎么全选复制粘贴文字快捷键)

  • 华为手机怎么下载微信(华为手机怎么下载app)

    华为手机怎么下载微信(华为手机怎么下载app)

  • 微信新消息不显示红点(微信新消息不显示)

    微信新消息不显示红点(微信新消息不显示)

  • 华为mate30pro有多重(华为mate30pro有多长多宽)

    华为mate30pro有多重(华为mate30pro有多长多宽)

  • oppor15梦境版什么时候上市(OPPOr15梦境版什么颜色最好看)

    oppor15梦境版什么时候上市(OPPOr15梦境版什么颜色最好看)

  • 华为nova5一键锁屏在哪(nova5i一键锁屏)

    华为nova5一键锁屏在哪(nova5i一键锁屏)

  • 手机软件怎么读xps文件(app怎能读)

    手机软件怎么读xps文件(app怎能读)

  • 咸鱼上人家付款了钱在哪里(咸鱼人家付款了怎么退款)

    咸鱼上人家付款了钱在哪里(咸鱼人家付款了怎么退款)

  • 荣耀手环5i什么手机都可以用吗(荣耀手环5什么价位)

    荣耀手环5i什么手机都可以用吗(荣耀手环5什么价位)

  • 华为徕卡三摄什么意思(华为徕卡摄像头厉害吗)

    华为徕卡三摄什么意思(华为徕卡摄像头厉害吗)

  • 怎么查看美团已购账单(怎么查看美团已经删除的订单)

    怎么查看美团已购账单(怎么查看美团已经删除的订单)

  • 8+256g什么意思(8+256的手机够用吗)

    8+256g什么意思(8+256的手机够用吗)

  • qq怎么设置自动回复赞(qq怎么设置自动回复消息)

    qq怎么设置自动回复赞(qq怎么设置自动回复消息)

  • 2021最新win10笔记本激活码/秘钥推荐 附激活工具(笔记本最新windows)

    2021最新win10笔记本激活码/秘钥推荐 附激活工具(笔记本最新windows)

  • schedulerv2.exe - schedulerv2是什么进程 有什么用

    schedulerv2.exe - schedulerv2是什么进程 有什么用

  • 免缴车船税
  • 一般税收协定是多少
  • 个人所得税申报退税多久到账
  • 礼品进项怎么做进项转出
  • 季报业务活动表本月数
  • 企业商品收入确认的依据
  • 办理个体户营业执照需要什么条件
  • 专票当月认证后什么时候抵扣
  • 技术转让所得的税收优惠
  • 个体户办理税务登记有什么好处
  • 存货验收入库会计分录
  • 增值税专票未认证丢失怎么办
  • 工会经费自留比例
  • 生产成本明细科目是原材料的名称吗
  • 房产开发公司土地增值税计算方法
  • 成本核算会计科目包括
  • 个体户公司需要交哪些税
  • 城建税本月计提下月缴纳怎么算
  • 个人转让土地使用权 增值税
  • 销售设备并安装
  • 建筑业预缴个人所得税税率
  • 更正申报以前个税的处理方法
  • 企业的其他业务收入有
  • 调整利润分配期怎么计算
  • 工程预缴增值税2019最新规定
  • windows10如何关闭病毒和威胁防护设置
  • 财产租赁所得个人所得税怎么申报
  • 收到外运公司托收海运运费单据1000美元
  • 建筑工程简易计税可以抵扣吗
  • php删除用户
  • php字符串定义的三种方式
  • 商品购进核算
  • 税前扣除是好事吗
  • 不征税收入用于支出所形成的费用是什么意思
  • 住房贷款利息支出专项附加抵扣
  • 基于Python的flask百战电商流程图
  • zero-shot, one-shot和few-shot
  • 存货的会计核算及业务处理
  • 金税盘服务费可以跨年抵扣
  • 预缴所得税可以调减吗
  • ps像素分辨率什么意思
  • pythongui库
  • 本月应计提折旧额
  • 新租赁准则承租人租金用什么科目
  • 代缴员工个人所得税怎么做账
  • 城镇土地使用税税率
  • 管理费用的是
  • 支付的物业费如何做账
  • 置换补贴算在优惠价里吗
  • 有差价的商品发票怎么开
  • 递延收益是什么负债
  • 冲销未开票收入还需要申报吗
  • 路桥公司会计核算办法
  • 航信服务费减免怎么填
  • 多计提的费用可以记收入吗会计分录
  • 预付款为什么不能抵消工程款
  • 补缴上年度所得税的会计分录
  • 实收资本印花税最新规定
  • 自产委托加工的货物用于非增值税应税项目
  • 建筑行业总产值占我国GDP的比重
  • 母公司与子公司的区别
  • 政府机关有纳税人吗
  • 商业企业注销应检查哪方面的问题
  • windows8如何安装
  • winxp wifi 无法连接
  • win8系统打开软件闪退
  • win8资源管理器未响应
  • awk中执行命令
  • linux播放mp3命令
  • win8的应用商店在哪
  • win10电脑无法上网
  • win7系统电脑蓝牙怎么开
  • shell按行读取文件存入数组
  • opencv人脸识别模型训练
  • Eclipse ctrl+shift+r
  • ANDROID手机客户端软件开发工程师
  • python的设置
  • 2020百望税控盘最新系统
  • 长春市征收中心
  • 浙江地税电子税务局
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设