创建iOS RIPEMD-160(RIPEMD160) pod库

CB_RIPEMD

项目地址:
https://github.com/caobo56/CB_RIPEMD

使用方式:

pod  'CB_RIPEMD'

目前版本为(0.9.0)

CB_RIPEMD是对RIPEMD算法的OC基础pod库,目前只有RIPEMD-160。
是从CoreBitcoin 项目摘出来的,目的是方便查找RIPEMD-160(RIPEMD160)。
我之前的CBBase58也有这部分代码,但单独放出来方便查找。
RIPEMD-160的算法是在 NSData+Hashing.h 中
NSData+Hashing.h 在项目的CB_RIPEMD/RIPEMD/路径下

下面是 NSData+Hashing.h 的接口层

//
//  NSData+Hashing.h
//  BitcoinSwift
//
//  Created by Kevin Greene on 6/19/14.
//  Copyright (c) 2014 DoubleSha. All rights reserved.
//

#import 

@interface NSData (Hashing)

/// Returns the SHA-256 hash of self.
- (NSData *)SHA256Hash;

/// Returns the RIPEMD-160 hash of self.
- (NSData *)RIPEMD160Hash;

/// Performs the HMAC512-SHA256 algorithm on self using key and stores the result in digest.
- (void)HMACSHA512WithKey:(NSData *)key digest:(NSMutableData *)digest;

@end

目前该 repo 只有 RIPEMD-160

计划是将 RIPEMD 下的相关算法都集成一下,包括(128、160、256和320),回头慢慢补充更新。

RIPEMD算法

RIPEMD(RACE Integrity Primitives Evaluation Message Digest,RACE原始完整性校验消息摘要),是Hans Dobbertin等3人在md4,md5的基础上,于1996年提出来的。算法共有4个标准128、160、256和320,其对应输出长度分别为16字节、20字节、32字节和40字节。不过,让人难以致信的是RIPEMD的设计者们根本就没有真正设计256和320位这2种标准,他们只是在128位和160位的基础上,修改了初始参数和s-box来达到输出为256和320位的目的。所以,256位的强度和128相当,而320位的强度和160位相当。RIPEMD建立在md的基础之上,所以,其添加数据的方式和md5完全一样。

你可能感兴趣的:(创建iOS RIPEMD-160(RIPEMD160) pod库)