做为安全保密功能, js加密是开发中很常用的,下面介绍几种常用的前端js加密、解密方法。

一、base64加密

base64的github地址

示例:

<html><head><title>前端的base64使用方法</title></head><body></body>
<script>
var str = "hello";
var str64 = window.btoa("hello");
console.log("字符串是:"+str);
console.log("经base64编码后:"+str64);
console.log("base64解码后:"+window.atob(str64));
</script>
</html>

输出结果:

二、MD5加密(不可逆)

MD5加密的github地址

关于MD5:
MD5.js是通过前台js加密的方式对用户信息,密码等私密信息进行加密处理的工具,也可称为插件。

MD5共有6种加密方法:
1, hex_md5(value)
2, b64_md5(value)
3, str_md5(value)
4, hex_hmac_md5(key, data)
5, b64_hmac_md5(key, data)
6, str_hmac_md5(key, data)

md5代码下载地址

下载好了用script 标签引入使用

<script src="md5/md5.js"></script>"></script><script>var code = "123456";var username = "123456";var password = "123456";var str1 = hex_md5("123456");var str2 = b64_md5("123456");var str3 = str_md5("123456");var str4 = hex_hmac_md5(code,code);var str5 = b64_hmac_md5(username,username);var str6 = str_hmac_md5(password,password);console.log(str1);            // e10adc3949ba59abbe56e057f20f883econsole.log(str2);            // 4QrcOUm6Wau+VuBX8g+IPgconsole.log(str3);            // áÜ9IºY«¾VàWò��>console.log(str4);            // 30ce71a73bdd908c3955a90e8f7429efconsole.log(str5);            // MM5xpzvdkIw5VakOj3Qp7wconsole.log(str6);            // 0Îq§;Ý��9U©��t)ï
</script>

输出结果:

三、sha1加密(不可逆)

sha1的github地址

此处没找到sha1.js下载地址,所以在bootcdn中找在线文件到引入,需要的可自行从bootcdn中下载

<script src="https://cdn.bootcss.com/js-sha1/0.6.0/sha1.js"></script>
<script type="text/javascript">var sha1_1 = sha1("mosquito~");console.log(sha1_1);var sha1_2 = sha1("admin:1001");console.log(sha1_2);
</script>

输出结果:

四、编码和解码字符串

使用JS函数的escape()和unescape(),分别是编码和解码字符串

<script type="text/javascript">var escape1 =escape("我的名字是:mosquito~");//编码console.log(escape1);var unescape1 = unescape(escape1); //解码console.log(unescape1);
</script>

输出结果

五、AES/DES加密解密

crypto-js.js下载地址:

https://www.npmjs.com/package/crypto-js

var aseKey = "12345678"     //秘钥必须为:8/16/32位
var message = "80018000142";
//加密
var encrypt = CryptoJS.AES.encrypt(message, CryptoJS.enc.Utf8.parse(aseKey), {mode: CryptoJS.mode.ECB,padding: CryptoJS.pad.Pkcs7
}).toString();
console.log(encrypt);    //VKrZlqykem73x8/T2oCfCQ==//解密
var decrypt = CryptoJS.AES.decrypt(encrypt, CryptoJS.enc.Utf8.parse(aseKey), {mode: CryptoJS.mode.ECB,padding: CryptoJS.pad.Pkcs7
}).toString(CryptoJS.enc.Utf8);
console.log(decrypt);    //80018000142

【注】:加密的时候必须转成字符串 使用toString。 解密的时候 必须使用utf8的格式

六、JS加密的边缘:JS代码保护

对JS代码整体进行加密,

在使用加密函数的同时,如果再对全部代码加密,会更加安全。

这时可以用:JShaman:https://www.jshaman.com/

js加密,在很多时候都有用的,收藏起来吧,相信你很快可以用的到。

前端js加密、解密方法相关推荐

  1. 针对前端js加密解密方法的兼容问题(兼容ie5以上哦)

    最近接了一个项目,是搭建一个jsSDK,提供第三方的接口供开发人员调用获取数据,为了让开发人员搞不清楚,我方接口到底是怎么实现的,防止代码偷盗,其中必不可少的就需要用到通信加密,且加密方法无限套娃,加 ...

  2. 数据AES加密安全传输之前端JS加密解密

    AES(Advanced Encryption Standard)是一种对称加密方式,旨在取代DES成为广泛使用的标准.我在前端实现关键数据报文加密时采用了该加密方式. 我使用的AES加密架包是cry ...

  3. 基于PHP和JS的AES相互加密解密方法详解(CryptoJS)

    在最近的项目中,前端后台数据交互需要进行加密之后传输使用,以保证系统数据的安全.有关数据加密解密的问题,有很多种加密的方式,在这里我选择了AES的加密方式.特此写下此篇博文,总结讲述下PHP和JS进行 ...

  4. JS七种加密解密方法

    HTML或JS加密解密 本文一共介绍了七种方法:   一:最简单的加密解密   二:转义字符"\"的妙用   三:使用Microsoft出品的脚本编码器Script Encoder ...

  5. aes js加密php解密实例,基于PHP和JS的AES相互加密解密方法详解(CryptoJS)_PHP_JS_AES源码...

    [实例简介] 基于PHP和JS的AES相互加密解密方法详解(CryptoJS)_PHP_JS_AES源码 [实例截图] [核心代码] 基于PHP和JS的AES相互加密解密方法详解(CryptoJS)_ ...

  6. 前端使用pako.js加密解密

    之前在网上搜到的关于pako加密解密方法,其中加密方法有点问题,和解密方法不配套. 整理了下我自己最后修改的代码 zip = (str) => { let binaryString = pako ...

  7. python实现加密字符串_Python实现对字符串的加密解密方法示例

    本文实例讲述了Python实现对字符串的加密解密方法.分享给大家供大家参考,具体如下: 需求是是要将密码存在数据库里,所以要加密解密是可逆的,在数据库里不要有特殊字符,防止数据库备份和恢复中出错. 安 ...

  8. ios常见加密解密方法

    在其他平台中经常会计算MD5值,在ios平台中也提供了该方法,首先需要导入头文件 [cpp] view plaincopy #import <CommonCrypto/CommonDigest. ...

  9. python des解密_python实现DES加密解密方法实例详解

    本文实例讲述了python实现DES加密解密方法.分享给大家供大家参考.具体分析如下: 实现功能:加密中文等字符串 密钥与明文可以不等长 这里只贴代码,加密过程可以自己百度,此处python代码没有优 ...

  10. python如何加密字符串_Python实现对字符串的加密解密方法示例

    本文实例讲述了Python实现对字符串的加密解密方法.分享给大家供大家参考,具体如下: 需求是是要将密码存在数据库里,所以要加密解密是可逆的,在数据库里不要有特殊字符,防止数据库备份和恢复中出错. 安 ...

最新文章

  1. document 文挡对象解析
  2. [蓝桥杯2018决赛]最大乘积-dfs
  3. mysql报错乱码_连接mysql服务器报错时,出现乱码
  4. 每天学点Linux命令:倒叙打印文件第二行的前100个大写字母
  5. php jsonerrorsyntax,php – json_decode返回JSON_ERROR_SYNTAX,但在线格式化程序表示JSON可以...
  6. 关于 gzip, deflate, zlib, LZ77
  7. 欧姆龙NX系列PLC和工业软件的搜集资料
  8. SwiftyJSON的使用详解
  9. Java中异或的操作
  10. 华为云GaussDB技术创新持续发力,荣膺DTCC2021创新大奖
  11. 什么是网络连接状态指示器NCSI
  12. 区块链在供应链金融中的应用分析
  13. webflux之reactor-Subscriber
  14. 高数-不定积分-分部积分法
  15. python批量打印mathcad_快速批量打印软件 – Print Conductor 6.1
  16. 音视频开发之旅(67) - 变速不变调之sonic源码分析
  17. 统计学第一篇,均值、中位数、众数
  18. C语言程序实现矩阵相乘
  19. 北京华为HCIE认证网络工程师快速完成设备流量控制和风暴控制
  20. 异常行为检测算法_检测异常行为的异常或异常类型算法

热门文章

  1. java 权限管理框架
  2. 倍福TwinCAT3中控制台达A2伺服使用
  3. 大学计算机基础模拟系统2014综合第三套,秋第三套计算机一级试题.doc
  4. C语言自学之路九(用C语言编写小游戏-扫雷)
  5. WebLogic MIB and AdventNet MIB Browser工具使用
  6. 计算机中心机房设计规范,GB50174-2017 数据中心机房设计规范
  7. mysql创建学生表命令_用sql语句创建学生表如何做
  8. SQLPrompt10带注册机(支持SSMS v18.5)
  9. CMM3级的过程基本特征
  10. 庖丁解牛之-Android平台RTSP|RTMP播放器设计