@@ -14,33 +14,33 @@ */ #include "config.h" #import "OFString.h" -#import "OFCryptoHash.h" +#import "OFCryptographicHash.h" #import "OFMD5Hash.h" #import "OFRIPEMD160Hash.h" #import "OFSHA1Hash.h" #import "OFSHA224Hash.h" #import "OFSHA256Hash.h" #import "OFSHA384Hash.h" #import "OFSHA512Hash.h" -int _OFString_CryptoHashing_reference; +int _OFString_CryptographicHashing_reference; -@implementation OFString (CryptoHashing) -- (OFString *)of_cryptoHashWithClass: (Class )class +@implementation OFString (CryptographicHashing) +static OFString * +stringByHashing(Class class, OFString *self) { void *pool = objc_autoreleasePoolPush(); - id hash = [class - cryptoHashWithAllowsSwappableMemory: true]; + id hash = + [class hashWithAllowsSwappableMemory: true]; size_t digestSize = [class digestSize]; const unsigned char *digest; char cString[digestSize * 2]; - [hash updateWithBuffer: self.UTF8String - length: self.UTF8StringLength]; + [hash updateWithBuffer: self.UTF8String length: self.UTF8StringLength]; digest = hash.digest; for (size_t i = 0; i < digestSize; i++) { uint8_t high, low; @@ -52,44 +52,44 @@ } objc_autoreleasePoolPop(pool); return [OFString stringWithCString: cString - encoding: OF_STRING_ENCODING_ASCII + encoding: OFStringEncodingASCII length: digestSize * 2]; } -- (OFString *)MD5Hash -{ - return [self of_cryptoHashWithClass: [OFMD5Hash class]]; -} - -- (OFString *)RIPEMD160Hash -{ - return [self of_cryptoHashWithClass: [OFRIPEMD160Hash class]]; -} - -- (OFString *)SHA1Hash -{ - return [self of_cryptoHashWithClass: [OFSHA1Hash class]]; -} - -- (OFString *)SHA224Hash -{ - return [self of_cryptoHashWithClass: [OFSHA224Hash class]]; -} - -- (OFString *)SHA256Hash -{ - return [self of_cryptoHashWithClass: [OFSHA256Hash class]]; -} - -- (OFString *)SHA384Hash -{ - return [self of_cryptoHashWithClass: [OFSHA384Hash class]]; -} - -- (OFString *)SHA512Hash -{ - return [self of_cryptoHashWithClass: [OFSHA512Hash class]]; +- (OFString *)stringByMD5Hashing +{ + return stringByHashing([OFMD5Hash class], self); +} + +- (OFString *)stringByRIPEMD160Hashing +{ + return stringByHashing([OFRIPEMD160Hash class], self); +} + +- (OFString *)stringBySHA1Hashing +{ + return stringByHashing([OFSHA1Hash class], self); +} + +- (OFString *)stringBySHA224Hashing +{ + return stringByHashing([OFSHA224Hash class], self); +} + +- (OFString *)stringBySHA256Hashing +{ + return stringByHashing([OFSHA256Hash class], self); +} + +- (OFString *)stringBySHA384Hashing +{ + return stringByHashing([OFSHA384Hash class], self); +} + +- (OFString *)stringBySHA512Hashing +{ + return stringByHashing([OFSHA512Hash class], self); } @end