数据加密插件

本文涉及的产品
密钥管理服务KMS,1000个密钥,100个凭据,1个月
简介: 数据加密插件

摘要:


   

大部分动态网站都支持从客户端到服务器传递数据,如果传递的数据被别人截取就非常危险,尤其是一些用户名密码之类的。这时候就需要我们在传递数据之前对数据进行加密。现在的加密算法已经有很多了,例如:MD5,SHA-1,SHA-256,AES,Rabbit,MARC4,HMAC等等。下面分享几款前端加密的插件。


braintree.js


它是设计用于与客户端的库。加密库将数据(通常是在一个移动设备或merchant-hosted网站通过表单提交)和加密使用非对称密钥对的公钥提交。在服务器上,使用客户端发送加密数的公钥。


1 var clientSideEncryptionKey = "YOUR_ENCRYPTION_KEY";
2 var braintree = Braintree.create(clientSideEncryptionKey);
3 $(#transaction_form).submit(function() {
4     encryptedForm().submit();
5     return false;
6 });
1.


BurningPig-encryption


使用RSA算法进行加密


1 var rsa = require("./src/rsa.js");
 2 var key = new rsa.Key();
 3 
 4 var message = "All your bases are belong to us.";
 5 console.log("Message:\n"+message+"\n");
 6 
 7 // Generate a key
 8 key.generate(1024, "10001");
 9 console.log("Key:\n");
10 console.log("n:" + key.n.toString(16));
11 console.log("e:" + key.e.toString(16));
12 console.log("d:" + key.d.toString(16));
13 console.log("\n");
14 
15 // Encrypt
16 var encrypted = key.encrypt(message);
17 console.log("Encrypted:\n" + rsa.linebrk(encrypted, 64) + "\n" );
18 
19 // Decrypt
20 var decrypted = key.decrypt(encrypted);
21 console.log("Decrypted:" + rsa.linebrk(decrypted, 64) + "\n");
22 
23 var sig = key.signString(message, "sha256");
24 console.log("String signature: \n" + rsa.linebrk(sig, 64));
25 
26 var pubkey = new rsa.Key();
27 pubkey.n = key.n;
28 pubkey.e = key.e;
29 
30 var verified = pubkey.verifyString(message, sig);
31 
32 console.log("Verfied: " + verified);


MD5


项目中使用的就是这个插件。


1 // quick test
 2 var input1 = "ABC";
 3 var input2 = ["A","B","C"];
 4 var input3 = [0x41, 0x42, 0x43];
 5 alert(faultylabs.MD5(input1) == "902FBDD2B1DF0C4F70B4A5D23525E932");
 6 alert(faultylabs.MD5(input2) == "902FBDD2B1DF0C4F70B4A5D23525E932");
 7 alert(faultylabs.MD5(input3) == "902FBDD2B1DF0C4F70B4A5D23525E932");
 8  
 9 // ArrayBuffer
10 var abuf = new ArrayBuffer(3)
11 var vu8  = new Uint8Array(abuf)
12 vu8[0] = 0x41; vu8[1] = 0x42; vu8[2] = 0x43
13 alert(faultylabs.MD5(abuf) == "902FBDD2B1DF0C4F70B4A5D23525E932")
14  
15 // Typed Array Uint32Array
16 var au32  = new Uint32Array(1)
17 au32[0] = 0xDDCCBBAA 
18 alert(faultylabs.MD5(au32) == "CA6FFBF95B47864FD4E73F2601326304")


crypto.js


是一个综合的库,包含很多算法,MD5,SHA-1,SHA-256,AES,Rabbit,MARC4,HMAC,HMAC-MD5,HMAC-SHA1,HMAC-SHA256,PBKDF2


1 var CryptoJS = require("crypto-js");
2 console.log(CryptoJS.HmacSHA1("Message", "Key"));
1.


sjcl


1 sjcl.encrypt("password", "data")
2 sjcl.decrypt("password", "encrypted-data")
1.


jcryption


在正常情况下,当提交数据时,如果没有SSL数据将使用纯文本的方式发送。jCryption这个jQuery插件能够加密由Forms提交的POST/GET数据。jCryption使用RSA公钥密码算法加密,该项目还提供一个PHP文件来处理数据的解密。


1 $(function() {
2     $("form").jCryption();
3 });
1.


jshashes


jshashes是一个纯JavaScript实现的扩展散列算法。它的目标是提供一个独立的、快速和简单的散列算法解决方案对客户端和服务器端都是JavaScript环境的。包括算法:MD5,SHA-1,SHA-256,SHA-512,HMAC,RIPEMD-160


1 // new MD5 instance
 2 var MD5 = new Hashes.MD5;
 3 // new SHA1 instance
 4 var SHA1 = new Hashes.SHA1;
 5 // new SHA256 instance
 6 var SHA256 =  new Hashes.SHA256;
 7 // new SHA512 instace
 8 var SHA512 = new Hashes.SHA512;
 9 // new RIPEMD-160 instace
10 var RMD160 = new Hashes.RMD160;
11 // sample string
12 var str = 'Sample text!';
13 // output to console
14 console.log('MD5: ' + MD5.hex(str));
15 console.log('SHA1: ' + SHA1.hex(str));
16 console.log('SHA256: ' + SHA256.hex(str));
17 console.log('SHA512: ' + SHA512.hex(str));
18 console.log('RIPEMD-160: ' + RMD160.hex(str));

小结:


  

网上也有很多关于数据加密的,大部分思路是使用非对称加密方法,如果你有好的方法可以多多交流。

相关文章
|
26天前
|
存储 安全 数据安全/隐私保护
Codota的数据加密技术包括静态数据加密和传输中的数据加密
Codota的数据加密技术包括静态数据加密和传输中的数据加密
46 4
|
2月前
|
存储 安全 算法
C#一分钟浅谈:数据加密与解密技术
【10月更文挑战第3天】在数字化时代,信息安全至关重要。数据加密作为保障信息不被未授权访问的有效手段,通过特定算法将明文转换为密文,确保即使数据被截获也难以解读。本文从基础概念入手,介绍C#中实现数据加密的方法,涵盖对称加密(如AES、DES)与非对称加密(如RSA),并通过具体示例代码演示如何使用`System.Security.Cryptography.Aes`类完成AES加密和解密过程。此外,还强调了密钥管理及安全策略的重要性。
76 4
|
4月前
|
监控 安全 算法
数据加密与保护
【8月更文挑战第10天】
93 2
|
5月前
|
存储 云安全 安全
云端数据加密实践
【7月更文挑战第12天】云端数据加密是保障云端数据安全的重要手段。通过选择合适的加密方式、加强加密密钥管理、实施静态与动态数据加密、采用加密信息检索技术和应用层加密组件等措施,可以有效地保护云端数据的安全。未来,随着技术的不断进步和应用需求的多样化,云端数据加密技术将继续发挥其重要作用,为各种应用场景提供强大的安全保障。
|
5月前
|
存储 算法 安全
实现Java应用的数据加密与解密技术
实现Java应用的数据加密与解密技术
|
6月前
|
存储 安全 API
使用KMS为Apollo配置中心敏感配置加密的最佳实践
使用KMS为Apollo配置中心敏感配置加密的最佳实践
822 2
|
6月前
|
数据安全/隐私保护 算法 安全
数据加密有哪些方法?
【6月更文挑战第2天】数据加密有哪些方法?
119 3
|
算法 安全 数据安全/隐私保护
数据加密
数据加密
178 0
|
Oracle 关系型数据库 数据安全/隐私保护
加密管理解决方案
本文研究全球及中国市场加密管理解决方案现状及未来发展趋势,侧重分析全球及中国市场的主要企业,同时对比北美、欧洲、中国、日本、东南亚和印度等地区的现状及未来发展趋势
密钥生成工具功能详解
说明:  本帖主要是为大家说明一下密钥生成工具的功能的使用方法,以及如何使用工具来处理集成中遇到的一些问题工具下载地址:【点击下载】一、生成密钥的功能 使工具生成密钥需要注意以下几点:   1、密钥生成工具生成密钥可以生成RSA密钥和RSA2密钥,如果是生成RSA密钥 密钥长度就需要选择1024长度的,如果是生成RSA2也就是RSA(256)密钥,那就需要选择2048长度的。
2733 12