Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

initial commit

  • Loading branch information...
commit cda32a9400f97f0739e2251e20e0378cf6c09356 0 parents
@gwjjeff authored
Showing with 77 additions and 0 deletions.
  1. +29 −0 README.md
  2. +17 −0 index.js
  3. +18 −0 package.json
  4. +13 −0 test/test.coffee
29 README.md
@@ -0,0 +1,29 @@
+* with little modification, converted from googlecode project "crypto-js":http://code.google.com/p/crypto-js/
+* source code worked in both browser engines and node scripts. see also: "https://github.com/gwjjeff/crypto-js-npm-conv":https://github.com/gwjjeff/crypto-js-npm-conv
+* inspiration comes from "ezcrypto":https://github.com/ElmerZhang/ezcrypto , but my tests cannot pass with his version ( ECB/pkcs7 mode ), so I made it myself
+
+h3. install
+
+<pre>
+npm install cryptojs
+</pre>
+
+h3. usage ( example with "coffee-script":http://coffeescript.org/ )
+
+<pre>
+Crypto = (require 'cryptojs').Crypto
+key = '12345678'
+us = 'Hello, 世界!'
+
+mode = new Crypto.mode.ECB Crypto.pad.pkcs7
+
+ub = Crypto.charenc.UTF8.stringToBytes us
+eb = Crypto.DES.encrypt ub, key, {asBytes: true, mode: mode}
+ehs= Crypto.util.bytesToHex eb
+
+eb2= Crypto.util.hexToBytes ehs
+ub2= Crypto.DES.decrypt eb2, key, {asBytes: true, mode: mode}
+us2= Crypto.charenc.UTF8.bytesToString ub2
+# should be same as the var 'us'
+console .log us2
+</pre>
17 index.js
@@ -0,0 +1,17 @@
+var Crypto = exports.Crypto = require('./lib/Crypto').Crypto;
+
+[ 'CryptoMath'
+, 'BlockModes'
+, 'DES'
+, 'AES'
+, 'HMAC'
+, 'MARC4'
+, 'MD5'
+, 'PBKDF2'
+, 'PBKDF2Async'
+, 'Rabbit'
+, 'SHA1'
+, 'SHA256'
+].forEach( function (path) {
+ require('./lib/' + path);
+});
18 package.json
@@ -0,0 +1,18 @@
+{
+ "author": "Jeff Guo <gwjjeff@gmail.com>",
+ "name": "cryptojs",
+ "tags": ["Hash", "MD5", "SHA1", "SHA-1", "SHA256", "SHA-256", "RC4", "Rabbit", "AES", "DES", "PBKDF2", "HMAC", "OFB", "CFB", "CTR", "CBC", "Base64"],
+ "description": "Following googlecode project crypto-js, provide standard and secure cryptographic algorithms for NodeJS. Support MD5, SHA-1, SHA-256, RC4, Rabbit, AES, DES, PBKDF2, HMAC, OFB, CFB, CTR, CBC, Base64",
+ "version": "2.5.3",
+ "homepage": "https://github.com/gwjjeff/cryptojs",
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/gwjjeff/cryptojs.git"
+ },
+ "main": "index.js",
+ "engines": {
+ "node": "*"
+ },
+ "dependencies": {},
+ "devDependencies": {}
+}
13 test/test.coffee
@@ -0,0 +1,13 @@
+Crypto = (require 'cryptojs').Crypto
+key = '12345678'
+us = 'Hello, 世界!'
+
+mode = new Crypto.mode.ECB Crypto.pad.pkcs7
+
+console.log "ub = #{ub = Crypto.charenc.UTF8.stringToBytes us}"
+console.log "eb = #{eb = Crypto.DES.encrypt ub, key, {asBytes: true, mode: mode}}"
+console.log "ehs= #{ehs= Crypto.util.bytesToHex eb}"
+
+console.log "eb2= #{eb2= Crypto.util.hexToBytes ehs}"
+console.log "ub2= #{ub2= Crypto.DES.decrypt eb2, key, {asBytes: true, mode: mode}}"
+console.log "us2= #{us2= Crypto.charenc.UTF8.bytesToString ub2}"
Please sign in to comment.
Something went wrong with that request. Please try again.