导航:首页 > 编程语言 > cryptonodejs

cryptonodejs

发布时间:2023-11-13 17:26:39

『壹』 关于nodejs 怎么实现 crypto des加密

就是加密和解密使用同一个密钥,通常称之为“Session Key ”这种加密技术在当今被广泛采用,如美国政府所采用的DES加密标准就是一种典型的“对称式”加密法,它的Session Key长度为56bits。
非对称式加密:
就是加密和解密所使用的不是同一个密钥,通常有两个密钥,称为“公钥”和“私钥”,它们两个必需配对使用,否则不能打开加密文件
加密为系统中经常使用的功能,node自带强大的加密功能Crypto,下面通过简单的例子进行练习。
1、加密模块的引用:
var crypto=require('crypto');
var $=require('underscore');var DEFAULTS = {
encoding: {
input: 'utf8',
output: 'hex'
},
algorithms: ['bf', 'blowfish', 'aes-128-cbc']
};

默认加密算法配置项:
输入数据格式为utf8,输出格式为hex,
算法使用bf,blowfish,aes-128-abc三种加密算法;
2、配置项初始化:
function MixCrypto(options) {
if (typeof options == 'string')
options = { key: options };

options = $.extend({}, DEFAULTS, options);
this.key = options.key;
this.inputEncoding = options.encoding.input;
this.outputEncoding = options.encoding.output;
this.algorithms = options.algorithms;
}

加密算法可以进行配置,通过配置option进行不同加密算法及编码的使用。
3、加密方法代码如下:
MixCrypto.prototype.encrypt = function (plaintext) {
return $.rece(this.algorithms, function (memo, a) {
var cipher = crypto.createCipher(a, this.key);
return cipher.update(memo, this.inputEncoding, this.outputEncoding)
+ cipher.final(this.outputEncoding)
}, plaintext, this);
};

使用crypto进行数据的加密处理。
4、解密方法代码如下:
MixCrypto.prototype.decrypt = function (crypted) {
try {
return $.receRight(this.algorithms, function (memo, a) {
var decipher = crypto.createDecipher(a, this.key);
return decipher.update(memo, this.outputEncoding, this.inputEncoding)
+ decipher.final(this.inputEncoding);
}, crypted, this);
} catch (e) {
return;
}
};

『贰』 求教nodejs怎么对密码进行加盐的hash加密

以前java项目最近打算用node.js重写,但是加密这里实在没搞定。java中加密是:1024次加盐sha-1加密,
一个例子:salt:47998d63768aa877,密文:,明文:yunstudio2013
下面是java代码:
private static byte[] digest(byte[] input, String algorithm, byte[] salt, int iterations) {
try {
MessageDigest digest = MessageDigest.getInstance(algorithm);
if (salt != null) {
digest.update(salt);
}
byte[] result = digest.digest(input);
for (int i = 1; i < iterations; i++) {
digest.reset();
result = digest.digest(result);
}
return result;
} catch (GeneralSecurityException e) {
throw Exceptions.unchecked(e);
}
}
我在js里面是这么干的,但是结果一直不对,代码如下:
//
var hash = crypto.createHmac("sha1", “47998d63768aa877”).update(“yunstudio2013”).digest(“hex”);
for (var i = 1; i < 1024; i++) {
hash = crypto.createHmac("sha1", “47998d63768aa877”).update(hash).digest(“hex”);
console.log(hash);
}

『叁』 nodejs里面怎么实现HMAC-SHA1

1)crypto模块

『肆』 关于nodejs 怎么实现 crypto des加密

varcrypto=require('crypto');
varkey='12345670';
exports.des={

algorithm:{ecb:'des-ecb',cbc:'des-cbc'},
encrypt:function(plaintext,iv){
varkey=newBuffer(key);
variv=newBuffer(iv?iv:0);
varcipher=crypto.createCipheriv(this.algorithm.ecb,key,iv);
cipher.setAutoPadding(true)//defaulttrue
varciph=cipher.update(plaintext,'utf8','base64');
ciph+=cipher.final('base64');
returnciph;
},
decrypt:function(encrypt_text,iv){
varkey=newBuffer(key);
variv=newBuffer(iv?iv:0);
vardecipher=crypto.createDecipheriv(this.algorithm.ecb,key,iv);
decipher.setAutoPadding(true);
vartxt=decipher.update(encrypt_text,'base64','utf8');
txt+=decipher.final('utf8');
returntxt;
}

};

『伍』 nodejs怎样获取一个上传文件的MD5码

MD5中的MD代表Message Digest,就是信息摘要的意思,不过这个信息摘要不是信息内容的缩写,而是根据公开的MD5算法对原信息进行数学变换后得到的一个128位(bit)的特征码。
1、D5就是求字符串的md5,文件就是一个字符串;
2、前台目前就别考虑读文件内容了(大部分浏览器不行) 都让后台做;
可以直接看nodeclub源代码,如下:
var crypto = require('crypto');
exports.encrypt = function (str, secret) {
var cipher = crypto.createCipher('aes192’, secret);
var enc = cipher.update(str, 'utf8’, ‘hex’);
enc += cipher.final(‘hex’);
return enc;
};

exports.decrypt = function (str, secret) {
var decipher = crypto.createDecipher('aes192’, secret);
var dec = decipher.update(str, 'hex’, ‘utf8’);
dec += decipher.final(‘utf8’);
return dec;
};

exports.md5 = function (str) {
var md5sum = crypto.createHash(‘md5’);
md5sum.update(str);
str = md5sum.digest(‘hex’);
return str;
};

exports.randomString = function (size) {
size = size || 6;
var code_string = '’;
var max_num = code_string.length + 1;
var new_pass = '’;
while (size > 0) {
new_pass += code_string.charAt(Math.floor(Math.random() * max_num));
size–;
}
return new_pass;
};

阅读全文

与cryptonodejs相关的资料

热点内容
windows8网络连接 浏览:442
怎么快速增加qq群人数 浏览:919
锤子视频播放器文件不存在 浏览:707
苹果手机怎么清理app缓存 浏览:682
花园战争2豪华升级包 浏览:517
电脑无法向u盘传输文件 浏览:823
bpn配置文件 浏览:932
501完美越狱工具 浏览:119
中间夹菜单里面不能显示压缩文件 浏览:952
如何指导小学生参加编程比赛 浏览:275
物业的招标文件有哪些 浏览:452
保存游戏文件名非法或只读 浏览:258
js怎么做图片时钟 浏览:451
华为应用里面有了app说明什么 浏览:801
数据库中xy是什么意思 浏览:893
u盘打不开提示找不到应用程序 浏览:609
网站功能介绍怎么写 浏览:954
word在试图打开文件时错误 浏览:108
主板无vga插槽怎么连接编程器 浏览:521
录视频文件在哪里删除 浏览:881

友情链接