node.js中的三种常用加密算法,md5,sha1,sha256

node.js中的md5加密

    • 效果图
    • 代码
    • 补充

效果图

  • md5双重加密
    在这里插入图片描述
  • sha1双重加密
    在这里插入图片描述
  • sha256双重加密
    在这里插入图片描述

代码

var crypto = require("crypto");

//自己利用node自带的crypto模块封装出来的md5加密函数,传入初始密码,返回加密后密码
function my_md5(initPWD){
	var md5 = crypto.createHash('md5');//创建哈希加密算法,后边可以是md5,sha1,sha256等
	var password = md5.update(initPWD).digest('base64');
	return password;
}

//测试
console.log("加密前:123456");
console.log("加密后:"+my_md5(my_md5("123456")));

补充

  • 数据库不要明码保存用户数据,泄露的话后果很严重
  • 加密处理后,即便黑客拿到也没用
  • 不同加密算法对同一初始密码加密有差异,很明显,上述三种sha256更靠谱些
  • 当然,一定程度上来说,以上加密算法都没有反破解的可能
  • 哪怕只改一个字,密文都会大变。
  • 不管加密的文字,多长多短,最终都是固定位数的加密结果
  • 当然,总有些屌人,或者破解网站,以加密测试字典的形式将数据收录,个别的还会双层加密收录
  • 举个例子,md5加密一次或者加密再加密的123456再破解网站上可以轻松破解
  • 解决方式很简单,加密同时拼接字符串进去,打乱密码字典固有序列
  • 举个例子,md5(md5(123456))容易破解,但md5(md5(123456)+“lengyuexin”);安全性就会比之高很多
    在这里插入图片描述
  • 很明显可以看出前后差异很大,安全性显著提高

你可能感兴趣的:(Node.js)