各类加密

1.RSA加密

非对称性加密算法:RSA,DSA,ECC
比如RSA:RSA公开密钥密码体制。所谓的公开密钥密码体制就是使用不同的加密密钥与解密密钥,是一种“由已知加密密钥推导出解密密钥在计算上是不可行的”密码体制。
在公开密钥密码体制中,加密密钥(即公开密钥)PK是公开信息,而解密密钥(即秘密密钥)SK是需要保密的。加密算法E和解密算法D也都是公开的。虽然解密密钥SK是由公开密钥PK决定的,但却不能根据PK计算出SK。
var crypto = require("crypto");var constants = require("constants");

//加密
var encrypt = function(data,publickey){ try{ var encrypt = crypto.publicEncrypt({key:publickey,padding:constants.RSA_PKCS1_PADDING},new Buffer(data)); return encrypt.toString("base64"); } catch(e){ return }};

//解密
var decrypt = function(data,privateKey){
try{
var decrypt = crypto.privateDecrypt({key:privateKey,padding:constants.RSA_PKCS1_PADDING},new Buffer(data,'base64'));
return decrypt.toString();
}
catch(e){
return
}
};

2.DES加密

  • DES加密介绍 DES是一种对称加密算法,所谓对称加密算法即:加密和解密使用相同密钥的算法。DES加密算法出自IBM的研究,
  • 后来被美国政府正式采用,之后开始广泛流传,但是近些年使用越来越少,因为DES使用56位密钥,以现代计算能力,
  • 24小时内即可被破解。虽然如此,在某些简单应用中,我们还是可以使用DES加密算法,本文简单讲解DES的JAVA实现 。
  • 注意:DES加密和解密过程中,密钥长度都必须是8的倍数
    */

var crypto = require('crypto');
var key = '12345670';
exports.des = {

algorithm:{ ecb:'des-ecb',cbc:'des-cbc' },
encrypt:function(plaintext,iv){
    var key1 = new Buffer(key);
    var iv = new Buffer(iv ? iv : 0);
    var cipher = crypto.createCipheriv(this.algorithm.ecb, key1, iv);
    cipher.setAutoPadding(true) //default true
    var ciph = cipher.update(plaintext, 'utf8', 'base64');
    ciph += cipher.final('base64');
    return ciph;
},
decrypt:function(encrypt_text,iv){
    var key1 = new Buffer(key);
    var iv = new Buffer(iv ? iv : 0);
    var decipher = crypto.createDecipheriv(this.algorithm.ecb, key1, iv);
    decipher.setAutoPadding(true);
    var txt = decipher.update(encrypt_text, 'base64', 'utf8');
    txt += decipher.final('utf8');
    return txt;
}

};

但是对于 DES 加密

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 前言 今天整理了一下加密方面的工具类,顺便把它们共享出来。 GitHub地址:https://github.com...
    世外大帝阅读 3,015评论 2 24
  • 本文主要介绍移动端的加解密算法的分类、其优缺点特性及应用,帮助读者由浅入深地了解和选择加解密算法。文中会包含算法的...
    苹果粉阅读 11,681评论 5 29
  • (一)对称加密(Symmetric Cryptography) 对称加密是最快速、最简单的一种加密方式,加密(en...
    tigger丨阅读 1,177评论 1 14
  • 概述 之前一直对加密相关的算法知之甚少,只知道类似DES、RSA等加密算法能对数据传输进行加密,且各种加密算法各有...
    Henryzhu阅读 3,228评论 0 14
  • 我坚信在每个人的内心深处,都有一个属于自己的理想,或许很远,或许无法实现,但理想的种子在心里萌发长大,有理想,才有...
    小小小小小柒阅读 287评论 0 1

友情链接更多精彩内容