哈希

哈希库为您提供了一些常用的哈希函数。您可以通过这些函数安全的加密用户的密码,验证文件的有效性等。

初始配置

在使用哈希组件之前您必须对组件进行配置(注意大小写敏感),您可以通过初始配置来配置:

配置名 是否必须 配置描述(可以点击查看详细)
HashingProvider.DefaultChecksum 默认的校验算法(Crc32,Adler32)
HashingProvider.DefaultHash 默认的哈希算法(MurmurHash,Djb

支持的哈希

  • 非加密性哈希
    Adler32
    Crc32
    Murmur Hash 3
    Djb Hash

  • 加密性哈希
    BCrypt

非加密性哈希

计算哈希

您可以通过Checksum方法来进行一致性检查,方法接收2个参数,一个参数为输入值,第二个参数为使用的哈希算法。

  1. var hashing = App.Make<IHashing>();
  2. byte[] data; // 假定需要加密的数据
  3. long hashCode = hashing.Checksum(data , Checksums.Crc32);

使用加密哈希

通过HashPassword方法您可以调用加密哈希,加密哈希接受2个参数,第一个参数为输入值,第二个参数为加密因子,加密因子默认为10,值越大则运行越慢,但越安全。加密Hash可以有效的保护您的密码。

使用的慢哈希算法为:BCrypt

  1. var hashing = App.Make<IHashing>();
  2. string data; // 假定需要加密的数据
  3. long hashCode = hashing.HashPassword(data , 10);

验证加密哈希和输入值是否匹配

您可以通过CheckPassword来验证加密哈希和输入值是否匹配。

  1. var hashing = App.Make<IHashing>();
  2. bool isMatch = hashing.HashPassword("输入值" , "加密的哈希");