29189878创建于 2024年7月5日历史提交

pbkdf2 库

介绍

PBKDF2(Password-Based Key Derivation Function 2)常用来生成加密的密码。通过一个伪随机函数和盐值,以及一段明文作为输入,并多次重复进行运算得到最终的密钥。本包提供通过PBKDF2生成密钥的功能。

class PBKDF2

public class PBKDF2 {
}

功能: 此类提供生成PBKDF2密钥的功能。

static func key(() -> Digest, Array<Byte>, Array<Byte>, UInt64, UInt64)

public static func key(digest: () -> Digest, password: Array<Byte>, salt: Array<Byte>, iter: UInt64, keyLen: UInt64): Array<Byte>

功能:生成PBKDF2密钥。

参数:

  • digest:() -> Digest - 传入的加密算法函数。当前支持的算法和cangjie crypto中一致,包括SHA512、SHA384、SHA256、SHA224、SHA1、MD5、SM3。
  • password:Array<Byte> - 需要加密的字符串。
  • salt: Array<Byte> - 盐值。
  • iter:UInt64 - 迭代计数。
  • keyLen: UInt64 - 计算得到的密钥的长度。

返回值:

  • Array<Byte> - 计算得到的密钥。

异常:CryptoException: 当计算密钥失败,或传入的算法不正确时,抛此异常。