美文网首页
golang hash密码核对

golang hash密码核对

作者: 路人爱早茶 | 来源:发表于2020-06-11 10:41 被阅读0次

    彩虹表:时间空间调优:k越小,查询时间越小,表本身体积越大;k越大,表本身体积越小,查询就慢
    仅存hash头尾
    原理:将一个明文经过hash和反hash来形成一条链,而明文对应的hash就存在表中,这样就可根据hash来查到明文

    如果将哈希后的密文比作一把锁,暴力破解的方法就是现场制作各种各样不同齿形的钥匙,再来尝试能否开锁,这样耗时无疑很长;我以前错误理解的“彩虹表”,是事先制作好所有齿形的钥匙,全部拿过来尝试开锁,这样虽然省去了制作钥匙的时间,但是后来发现这些钥匙实在是太多了,没法全部带在身上。而真正的彩虹表,是将钥匙按照某种规律进行分组,每组钥匙中只需要带最有特点的一个,当发现某个“特征钥匙”差一点就能开锁了,则当场对该钥匙进行简单的打磨,直到能开锁为止。这种方法是既省力又省时的。

    bcrypt加密算法原理和应用
    虽然对同一个密码,每次生成的hash不一样,但是hash中包含了salt(hash产生过程:先随机生成salt,salt跟password进行hash);
    在下次校验时,从hash中取出salt,salt跟password进行hash;得到的结果跟保存在DB中的hash进行比对,compareSync中已经实现了这一过程:bcrypt.compareSync(password, hashFromDB);

    原文链接:https://blog.csdn.net/creator123123/java/article/details/86159627
    https://blog.csdn.net/weixin_34245169/article/details/85905061

    相关文章

      网友评论

          本文标题:golang hash密码核对

          本文链接:https://www.haomeiwen.com/subject/kpfmtktx.html