(2014-11-14 15:37:35)
reproduced
Tags: it |
Category: Web front-end development |
Summary:
Most dynamic Web sites support the transfer of data from the client to the server, which is dangerous if the data being passed is intercepted by others, especially some user name passwords. This is when we need to encrypt the data before passing the data. Now there are many encryption algorithms, for example: Md5,sha-1,sha-256,aes,rabbit,marc4,hmac and so on. Share several front-end encryption plugins below.
- Braintree.js
It is designed to be used with the client's library. The cryptographic library submits data (usually on a mobile device or merchant-hosted Web site via a form) and encrypts the public key using an asymmetric key pair. On the server, use the client to send the public key of the encryption number.
1 var clientsideencryptionkey = "Your_encryption_key"; 2 var braintree = Braintree.create (Clientsideencryptionkey); 3 $ (# Transaction_form). Submit (Function () {4 Encryptedform (). submit (); 5 return false;6});
- burningpig-encryption
Encrypting using the RSA algorithm
1 var RSA = require ("./src/rsa.js"); 2 var key = new RSA. Key (); 3? 4 var message = "All your bases is belong to us."; 5 Console.log ("message:\n" +message+ "\ n"); 6 7//Generate a key 8 key.generate (1024x768, "10001"), 9 Console.log ("key:\n"), Console.log ("N:" + key.n.tostring (16)) ; Console.log ("E:" + key.e.tostring), Console.log ("D:" + key.d.tostring), Console.log ("\ n"); 14 15// Encrypt16 var encrypted = key.encrypt (message), Console.log ("encrypted:\n" + rsa.linebrk (encrypted, +) + "\ n"); 18 19/ /Decrypt20 var decrypted = Key.decrypt (encrypted), Console.log ("decrypted:" + rsa.linebrk (decrypted, +) + "\ n"); 22 23 var sig = key.signstring (Message, "sha256"), Console.log ("String signature: \ n" + rsa.linebrk (SIG, +)); + Var PubKey = new RSA. Key (), PUBKEY.N = key.n;28 pubkey.e = key.e;29 var verified = pubkey.verifystring (message, SIG), Console.log ("Ve Rfied: "+ verified);
- This plug-in is used in the
- MD5
Project.
1//Quick Test 2 var input1 = "ABC"; 3 var input2 = ["A", "B", "C"]; 4 var input3 = [0x41, 0x42, 0x43]; 5 alert (f Aultylabs. MD5 (INPUT1) = = "902fbdd2b1df0c4f70b4a5d23525e932"); 6 Alert (Faultylabs. MD5 (input2) = = "902fbdd2b1df0c4f70b4a5d23525e932"); 7 Alert (Faultylabs. MD5 (INPUT3) = = "902fbdd2b1df0c4f70b4a5d23525e932"); 8 9//ArrayBuffer10 var abuf = new ArrayBuffer (3) one var vu8 = new Uint8array (abuf) vu8[0] = 0x41; VU8[1] = 0x42; VU8[2] = 0x4313 alert (faultylabs. MD5 (abuf) = = "902fbdd2b1df0c4f70b4a5d23525e932")/Typed Array uint32array16 var au32 = new Uint32array (1) au32[ 0] = 0xDDCCBBAA alert (faultylabs. MD5 (au32) = = "ca6ffbf95b47864fd4e73f2601326304")
- Crypto.js
is a comprehensive library that contains many algorithms, 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");
- Sjcl
1 sjcl.encrypt ("password", "Data") 2 Sjcl.decrypt ("Password", "Encrypted-data")
- Jcryption
? Under normal circumstances, when data is submitted, if no SSL data is sent using plain text. Jcryption This jquery plugin is capable of encrypting post/get data submitted by forms. Jcryption uses the RSA public key cryptography algorithm to encrypt, and the project also provides a PHP file to handle the decryption of the data.
1 $ (function () {2 $ ("form"). Jcryption (); 3});
- Jshashes
Jshashes is an extended hashing algorithm implemented by pure JavaScript. Its goal is to provide a standalone, fast, and simple hashing algorithm solution for both the client and server side of the JavaScript environment. Include algorithm: 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 instace10 var RMD160 = new HASHES.RMD160;11//sample string12 var str = ' sample text! '; //Output to Console14 console.log (' MD5: ' + md5.hex (str)), Console.log (' SHA1: ' + sha1.hex (str)), Console.log (' SHA : ' + sha256.hex (str)], Console.log (' SHA512: ' + sha512.hex (str)), Console.log (' RIPEMD-160: ' + rmd160.hex (str));
Summary:
There are a lot of data encryption on the Internet, most of the idea is to use asymmetric encryption method, if you have a good way to communicate more.
Also attached are two plugins encrypted and decrypted in the node. JS Environment:
Https://github.com/gwjjeff/cryptojs
Https
JS front-end data encryption plug-in