类
class HMAC
public class HMAC <: Digest {
public init(key: Array<Byte>, digest: () -> Digest)
public init(key: Array<Byte>, algorithm: HashType)
}
功能:提供 HMAC 算法的实现。目前支持的摘要算法包括 MD5、SHA1、SHA224、SHA256、SHA384、SHA512、SM3。
父类型:
prop blockSize
public prop blockSize: Int64
功能:HMAC 所选 Hash 算法信息块长度,单位字节。
类型:Int64
prop size
public prop size: Int64
功能:HMAC 所选 Hash 算法的摘要信息长度,单位字节。
类型:Int64
init(Array<Byte>, () -> Digest)
public init(key: Array<Byte>, digest: () -> Digest)
功能:构造函数,创建 HMAC 对象。
参数:
异常:
- CryptoException - key 值为空时,抛出异常。
init(Array<Byte>, HashType)
public init(key: Array<Byte>, algorithm: HashType)
功能:构造函数,创建 HMAC 对象。
参数:
异常:
- CryptoException - key 值为空时,抛出异常。
func equal(Array<Byte>, Array<Byte>)
public static func equal(mac1: Array<Byte>, mac2: Array<Byte>): Bool
功能:比较两个信息摘要是否相等,且不泄露比较时间,即比较不采用传统短路原则,从而防止 timing attack 类型的攻击。
参数:
返回值:
- Bool - 信息摘要是否相同, true 相同, false 不相同。
func finish()
public func finish(): Array<Byte>
功能:返回生成的信息摘要值,注意调用 finish 后不可以再进行摘要计算,如重新计算需要 reset 重置上下文。
返回值:
异常:
- CryptoException - 未重置上下文再次调用 finish 进行摘要计算,抛此异常。
func reset()
public func reset(): Unit
功能:重置 HMAC 对象到初始状态,清理 HMAC 上下文。
异常:
- CryptoException - 当内部错误,重置失败,抛此异常。
func write(Array<Byte>)
public func write(buffer: Array<Byte>): Unit
功能:使用给定的 buffer 更新 HMAC 对象,在调用 finish 前可以多次更新。
参数:
异常:
- CryptoException - 当 buffer 为空、finish 已经调用生成信息摘要场景,抛此异常。
class MD5
public class MD5 <: Digest {
public init()
}
功能:提供 MD5 算法的实现接口。
父类型:
prop blockSize
public prop blockSize: Int64
功能:MD5 信息块长度,单位字节。
类型:Int64
prop size
public prop size: Int64
功能:MD5 摘要信息长度,单位字节。
类型:Int64
init()
public init()
功能:无参构造函数,创建 MD5 对象。
func finish()
public func finish(): Array<Byte>
功能:返回生成的 MD5 值,注意调用 finish 后 MD5 上下文会发生改变,finish 后不可以再进行摘要计算,如重新计算需要 reset 重置上下文。
返回值:
异常:
- CryptoException - 未重置上下文再次调用 finish 进行摘要计算,抛此异常。
func reset()
public func reset(): Unit
func write(Array<Byte>)
public func write(buffer: Array<Byte>): Unit
功能:使用给定的 buffer 更新 MD5 对象,在调用 finish 前可以多次更新。
参数:
异常:
- CryptoException - 已经调用 finish 进行摘要计算后未重置上下文,抛此异常。
class SHA1
public class SHA1 <: Digest {
public init()
}
功能:提供 SHA1 算法的实现接口。
父类型:
prop blockSize
public prop blockSize: Int64
功能:SHA1 信息块长度,单位字节。
类型:Int64
prop size
public prop size: Int64
功能:SHA1 摘要信息长度,单位字节。
类型:Int64
init()
public init()
功能:无参构造函数,创建 SHA1 对象。
func finish()
public func finish(): Array<Byte>
功能:返回生成的 SHA1 值,注意调用 finish 后 SHA1 上下文会发生改变,finish 后不可以再进行摘要计算,如重新计算需要 reset 重置上下文。
返回值:
异常:
- CryptoException - 未重置上下文再次调用 finish 进行摘要计算,抛此异常。
func reset()
public func reset(): Unit
功能:重置 SHA1 对象到初始状态,清理 SHA1 上下文。
func write(Array<Byte>)
public func write(buffer: Array<Byte>): Unit
功能:使用给定的 buffer 更新 SHA1 对象,在调用 finish 前可以多次更新。
参数:
异常:
- CryptoException - 已经调用 finish 进行摘要计算后未重置上下文,抛此异常。
class SHA224
public class SHA224 <: Digest {
public init()
}
功能:提供 SHA224 算法的实现接口。
父类型:
prop blockSize
public prop blockSize: Int64
功能:SHA224 信息块长度,单位字节。
类型:Int64
prop size
public prop size: Int64
功能:SHA224 摘要信息长度,单位字节。
类型:Int64
init()
public init()
功能:无参构造函数,创建 SHA224 对象。
func finish()
public func finish(): Array<Byte>
功能:返回生成的 SHA224 值,注意调用 finish 后 SHA224 上下文会发生改变,finish 后不可以再进行摘要计算,如重新计算需要 reset 重置上下文。
返回值:
异常:
- CryptoException - 未重置上下文再次调用 finish 进行摘要计算,抛此异常。
func reset()
public func reset(): Unit
功能:重置 SHA224 对象到初始状态,清理 SHA224 上下文。
func write(Array<Byte>)
public func write(buffer: Array<Byte>): Unit
功能:使用给定的 buffer 更新 SHA224 对象,在调用 finish 前可以多次更新。
参数:
异常:
- CryptoException - 已经调用 finish 进行摘要计算后未重置上下文,抛此异常。
class SHA256
public class SHA256 <: Digest {
public init()
}
功能:提供 SHA256 算法的实现接口。
父类型:
prop blockSize
public prop blockSize: Int64
功能:SHA256 信息块长度,单位字节。
类型:Int64
prop size
public prop size: Int64
功能:SHA256 摘要信息长度,单位字节。
类型:Int64
init()
public init()
功能:无参构造函数,创建 SHA256 对象。
func finish()
public func finish(): Array<Byte>
功能:返回生成的 SHA256 值,注意调用 finish 后 SHA256 上下文会发生改变,finish 后不可以再进行摘要计算,如重新计算需要 reset 重置上下文。
返回值:
异常:
- CryptoException - 未重置上下文再次调用 finish 进行摘要计算,抛此异常。
func reset()
public func reset(): Unit
功能:重置 SHA256 对象到初始状态,清理 SHA256 上下文。
func write(Array<Byte>)
public func write(buffer: Array<Byte>): Unit
功能:使用给定的 buffer 更新 SHA256 对象,在调用 finish 前可以多次更新。
参数:
异常:
- CryptoException - 已经调用 finish 进行摘要计算后未重置上下文,抛此异常。
class SHA384
public class SHA384 <: Digest {
public init()
}
功能:提供 SHA384 算法的实现接口。
父类型:
prop blockSize
public prop blockSize: Int64
功能:SHA384 信息块长度,单位字节。
类型:Int64
prop size
public prop size: Int64
功能:SHA384 摘要信息长度,单位字节。
类型:Int64
init()
public init()
功能:无参构造函数,创建 SHA384 对象。
func finish()
public func finish(): Array<Byte>
功能:返回生成的 SHA384 值,注意调用 finish 后 SHA384 上下文会发生改变,finish 后不可以再进行摘要计算,如重新计算需要 reset 重置上下文。
返回值:
异常:
- CryptoException - 未重置上下文再次调用 finish 进行摘要计算,抛此异常。
func reset()
public func reset(): Unit
功能:重置 SHA384 对象到初始状态,清理 SHA384 上下文。
func write(Array<Byte>)
public func write(buffer: Array<Byte>): Unit
功能:使用给定的 buffer 更新 SHA384 对象,在调用 finish 前可以多次更新。
参数:
异常:
- CryptoException - 已经调用 finish 进行摘要计算后未重置上下文,抛此异常。
class SHA512
public class SHA512 <: Digest {
public init()
}
功能:提供 SHA512 算法的实现接口。
父类型:
prop blockSize
public prop blockSize: Int64
功能:SHA512 信息块长度,单位字节。
类型:Int64
prop size
public prop size: Int64
功能:SHA512 摘要信息长度,单位字节。
类型:Int64
init()
public init()
功能:无参构造函数,创建 SHA512 对象。
func finish()
public func finish(): Array<Byte>
功能:返回生成的 SHA512 值,注意调用 finish 后 SHA512 上下文会发生改变,finish 后不可以再进行摘要计算,如重新计算需要 reset 重置上下文。
返回值:
异常:
- CryptoException - 未重置上下文再次调用 finish 进行摘要计算,抛此异常。
func reset()
public func reset(): Unit
功能:重置 SHA512 对象到初始状态,清理 SHA512 上下文。
func write(Array<Byte>)
public func write(buffer: Array<Byte>): Unit
功能:使用给定的 buffer 更新 SHA512 对象,在调用 finish 前可以多次更新。
参数:
异常:
- CryptoException - 已经调用 finish 进行摘要计算后未重置上下文,抛此异常。
class SM3
public class SM3 <: Digest {
public init()
}
功能:提供 SM3 算法的实现接口。
父类型:
prop blockSize
public prop blockSize: Int64
功能:SM3 信息块长度,单位字节。
类型:Int64
prop size
public prop size: Int64
功能:SM3 摘要信息长度,单位字节。
类型:Int64
init()
public init()
功能:无参构造函数,创建 SM3 对象。
func finish()
public func finish(): Array<Byte>
功能:返回生成的 SM3 值,注意调用 finish 后 SM3 上下文会发生改变,finish 后不可以再进行摘要计算,如重新计算需要 reset 重置上下文。
返回值:
异常:
- CryptoException - 未重置上下文再次调用 finish 进行摘要计算,抛此异常。
func reset()
public func reset(): Unit
func write(Array<Byte>)
public func write(buffer: Array<Byte>): Unit
功能:使用给定的 buffer 更新 SM3 对象,在调用 finish 前可以多次更新。
参数:
异常:
- CryptoException - 已经调用 finish 进行摘要计算后未重置上下文,抛此异常。