JavaScript 实现的base64加密、md5加密、sha1加密及AES加密

本文涉及的产品
密钥管理服务KMS,1000个密钥,100个凭据,1个月
简介: 1. Base64加密1). js-base642). 安装npm install --save js-base643). 使用 // 加密 var str = Base64.

1. Base64加密

1). js-base64
2). 安装
npm install --save js-base64
3). 使用
<!-- npm install --save js-base64 -->
<script type="text/javascript" src="base64.min.js"></script>
<script type="text/javascript">
    // 加密
    var str = Base64.encode("mazaiting");
    console.log("base64 encode: " + str);

    // 解密
    str = Base64.decode(str);
    console.log("base64 decode: " + str);
</script>

2. MD5加密

1). js-md5
2). 安装
npm install js-md5
3). 使用
<!-- npm install js-md5 -->
<script type="text/javascript" src="md5.min.js"></script>
<script type="text/javascript">
    // 加密
    var str = md5("mazaiting");
    console.log("md5 encode: " + str);
</script>

3. sha1加密

1). js-sha1
2). 安装
npm install js-sha1
3). 使用
<!-- npm install js-sha1 -->
<script type="text/javascript" src="sha1.min.js"></script>
<script type="text/javascript">
    // 加密
    var str = sha1("mazaiting");
    console.log("sha1 encode: " + str);
</script>

4. 自定义加解密

<script type="text/javascript">
    // 加密
    var str = compileStr("mazaiting");
    console.log("escape encode: " + str);

    // 解密
    str = uncompileStr(str);
    console.log("escape decode: " + str);

    // 对字符串进行加密
    function encode(code){     
        var c=String.fromCharCode(code.charCodeAt(0) + code.length);  
        for(var i = 1; i < code.length; i++) {        
            c += String.fromCharCode(code.charCodeAt(i) + code.charCodeAt(i - 1));  
        }     
    return escape(c);  
    }  

    // 字符串进行解密
    function uncompileStr(code){        
        code = unescape(code);        
        var c = String.fromCharCode(code.charCodeAt(0)-code.length);        
        for(var i = 1; i < code.length; i++) {        
            c += String.fromCharCode(code.charCodeAt(i)-c.charCodeAt(i - 1));        
        }        
        return c;
    }  
</script>

5. AES加密

1). aes-js
2). 安装
npm install aes-js
3). 使用

CBC - Cipher-Block Chaining (recommended)

// An example 128-bit key
var key = [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16 ];
 
// The initialization vector (must be 16 bytes)
var iv = [ 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,35, 36 ];
 
// 加密
// Convert text to bytes (text must be a multiple of 16 bytes)
var text = 'TextMustBe16Byte';
var textBytes = aesjs.utils.utf8.toBytes(text);
 
var aesCbc = new aesjs.ModeOfOperation.cbc(key, iv);
var encryptedBytes = aesCbc.encrypt(textBytes);
 
// To print or store the binary data, you may convert it to hex
var encryptedHex = aesjs.utils.hex.fromBytes(encryptedBytes);
console.log(encryptedHex);
// "104fb073f9a131f2cab49184bb864ca2"
 
// 解密
// When ready to decrypt the hex string, convert it back to bytes
var encryptedBytes = aesjs.utils.hex.toBytes(encryptedHex);
 
// The cipher-block chaining mode of operation maintains internal
// state, so to decrypt a new instance must be instantiated.
var aesCbc = new aesjs.ModeOfOperation.cbc(key, iv);
var decryptedBytes = aesCbc.decrypt(encryptedBytes);
 
// Convert our bytes back into text
var decryptedText = aesjs.utils.utf8.fromBytes(decryptedBytes);
console.log(decryptedText);
// "TextMustBe16Byte"
目录
相关文章
|
4月前
|
资源调度 前端开发 JavaScript
vite3+vue3 实现前端部署加密混淆 javascript-obfuscator
【11月更文挑战第10天】本文介绍了在 Vite 3 + Vue 3 项目中使用 `javascript-obfuscator` 实现前端代码加密混淆的详细步骤,包括安装依赖、创建混淆脚本、修改 `package.json` 脚本命令、构建项目并执行混淆,以及在 HTML 文件中引用混淆后的文件。通过这些步骤,可以有效提高代码的安全性。
332 2
|
4月前
|
前端开发 JavaScript 安全
vite3+vue3 实现前端部署加密混淆 javascript-obfuscator
【11月更文挑战第7天】本文介绍了在 Vite 3 + Vue 3 项目中使用 `javascript-obfuscator` 实现前端代码加密混淆的详细步骤。包括项目准备、安装 `javascript-obfuscator`、配置 Vite 构建以应用混淆,以及最终构建项目进行混淆。通过这些步骤,可以有效提升前端代码的安全性,防止被他人轻易分析和盗用。
809 0
|
5月前
|
NoSQL Java Redis
shiro学习四:使用springboot整合shiro,正常的企业级后端开发shiro认证鉴权流程。使用redis做token的过滤。md5做密码的加密。
这篇文章介绍了如何使用Spring Boot整合Apache Shiro框架进行后端开发,包括认证和授权流程,并使用Redis存储Token以及MD5加密用户密码。
90 0
shiro学习四:使用springboot整合shiro,正常的企业级后端开发shiro认证鉴权流程。使用redis做token的过滤。md5做密码的加密。
|
5月前
|
存储 Java 数据库
密码专辑:对密码加盐加密,对密码进行md5加密,封装成密码工具类
这篇文章介绍了如何在Java中通过加盐和加密算法(如MD5和SHA)安全地存储密码,并提供了一个密码工具类PasswordUtils和密码编码类PasswordEncoder的实现示例。
161 10
密码专辑:对密码加盐加密,对密码进行md5加密,封装成密码工具类
|
5月前
|
数据安全/隐私保护 Python
Python中的MD5加密“解密”
Python中的MD5加密“解密”
161 0
|
5月前
|
安全 测试技术 Go
Python 和 Go 实现 AES 加密算法的技术详解
Python 和 Go 实现 AES 加密算法的技术详解
223 0
|
5月前
|
IDE 开发工具 数据安全/隐私保护
Python编程实现批量md5加密pdf文件
Python编程实现批量md5加密pdf文件
63 0
|
6月前
|
存储 安全 数据安全/隐私保护
浅谈对称加密(AES与DES)
浅谈对称加密(AES与DES)
105 1
|
6月前
|
数据安全/隐私保护 Python
Python中的MD5加密“解密”
Python中的MD5加密“解密”
142 0
|
6月前
|
数据安全/隐私保护
aes之ecb模式的加密解密
aes之ecb模式的加密解密