我正在尝试在Swift中创建字符串的HMAC SHA-1哈希,但无法弄清楚如何与API进行交互,因为它似乎没有导入CommonCrypto框架.我尝试了各种不同形式的"import CommonCrypto"并创建了一个桥接头文件,但没有一个有所作为.
奇怪的是,如果我创建一个Objective-C类,我可以毫无问题地与API交互,所以这似乎是Swift独有的.
如果有人能告诉我uint8_t digest[CC_SHA1_DIGEST_LENGTH]Swift中的等价物,我会非常感激
我试图在Swift 3(和/或目标C)中散列一个String ripemd160来模拟以下php的输出:
$string = 'string';
$key = 'test';
hash_hmac('ripemd160', $string, $key);
// outputs: 37241f2513c60ae4d9b3b8d0d30517445f451fa5
Run Code Online (Sandbox Code Playgroud)
至今:
我已经尝试过查找hash_hmac我能找到的功能,例如:
在swift中实现HMAC和SHA1加密
enum HMACAlgorithm {
case MD5, SHA1, SHA224, SHA256, SHA384, SHA512, RIPEMD160
func toCCHmacAlgorithm() -> CCHmacAlgorithm {
var result: Int = 0
switch self {
case .MD5:
result = kCCHmacAlgMD5
case .SHA1:
result = kCCHmacAlgSHA1
case .SHA224:
result = kCCHmacAlgSHA224
case .SHA256:
result = kCCHmacAlgSHA256
case .SHA384:
result = kCCHmacAlgSHA384
case .SHA512:
result = kCCHmacAlgSHA512
case .RIPEMD160:
result = kCCHmacAlgRIPEMD160 …Run Code Online (Sandbox Code Playgroud)