Show toolbar

2013年8月16日 星期五

Encryption in Node.JS using crypto

標題:在Node.JS中使用加密
Node.JS (encryption.js):
var crypto = require('crypto');
//md5
var md5_password = crypto.createHash('md5').update('admin').digest('hex');
console.log(md5_password.length + ', ' + md5_password);
//md5(base64)
var md5_base64_password = crypto.createHash('md5').update('admin').digest('base64');
console.log(md5_base64_password.length + ', ' + md5_base64_password);
//sha1
var sha1_password = crypto.createHash('sha1').update('admin').digest('hex');
console.log(sha1_password.length + ', ' + sha1_password);
//sha1(base64)
var sha1_base64_password = crypto.createHash('sha1').update('admin').digest('base64');
console.log(sha1_base64_password.length + ', ' + sha1_base64_password);
//Check Base64 type
var base64 = new RegExp(/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{4}|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{2}==)$/);
if(sha1_base64_password.match(base64)) {
console.log('Match!');
}
view raw encryption.js hosted with ❤ by GitHub

範例輸出:

說明:
crypto模組在Node.JS為原生Module可直接使用,切勿再使用npm安裝或使用相對路徑require,最後為使用Regular expression比對base64格式。

沒有留言:

張貼留言