Angular6 bcrypt hashSync,哈希和比较

问题描述

我正在使用Angular 6.1.1构建网页。我设法在注册页面登录页面获取了ID和密码值,但是当我尝试比较同一用户的密码时,出现了问题。

我使用了以下(ID,密码)对: (测试,测试)(test1,测试)(test2,测试)

但是,当密码存储数据库中时,它们的存储方式都不同。

$ 2a $ 10 $ W9.oZSzRYbWj0.2jiqsstuPyWSBwhHC2Yi3BNPuDven
vs
$ 2a $ 10 $ qRbhsBJMJuPu1Yq1dN5Dmug / Bq5tFaiIsPJm6SqOTDS

我找到了答案(总之,如果每次使用'test'时散列都给出相同的结果,那么实际上并没有一个数据库拥有大量用户的意义。如果存在相同的散列,则使用一枪,很多用户都受影响。

因此,我知道我应该使用compare()而不是尝试进行散列处理,但是它仍然无法正确识别散列。

下面是我使用的代码

private int size(BinaryTreeNode<T> root)
   {
      if (root == null) 
         return 0;
      int left = size(root.getLeft());
      int right = size(root.getright());
      return (1+left+right);
  }

我使用了hashSync,因为这是我发现的示例代码,而且我知道也有hash()。但是,我找不到hashSync()和hash()之间的区别,因此我坚持使用带有示例的示例。

我使用hashSync()和compare()对吗?还是我应该设置正确的方法

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)