NSHash 向 NSString 和 NSData 添加哈希方法。
将 NSHash 类复制到您的项目中,或者将此行添加到您的 Podfile
pod 'NSHash', '~> 1.2.0'
导入您需要的类别类
#import <NSHash/NSString+NSHash.h>
#import <NSHash/NSData+NSHash.h>
之后您可以调用任何 NSString
上的 MD5
、MD5Data
、SHA1
、SHA1Data
、SHA256
或 SHA256Data
NSString* string = @"NSHash";
NSLog(@"MD5 as NSString: %@", [string MD5]);
NSLog(@"SHA1 as NSString: %@", [string SHA1]);
NSLog(@"SHA256 as NSString: %@", [string SHA256]);
NSLog(@"SHA512 as NSString: %@", [string SHA512]);
NSLog(@"MD5 as NSData: %@", [string MD5Data]);
NSLog(@"SHA1 as NSData: %@", [string SHA1Data]);
NSLog(@"SHA256 as NSData: %@", [string SHA256Data]);
NSLog(@"SHA512 as NSData: %@", [string SHA512Data]);
这将返回一个包含哈希值的十六进制变换的新的 NSString
MD5 as NSString: ccbe85c2011c5fe3da7d760849c4f99e
SHA1 as NSString: f5b17712c5d31ab49654b0baadf699561958d750
SHA256 as NSString: 84423607efac17079369134460239541285d5ff40594f9b8b16f567500162d2e
SHA512 as NSString: 927323f74dec1305f0a4822aab380268b6eab030eac4af6c881a529e610936613b0563bca84af894cff1e876522b8f721b54da9bbe3132f8de2692019e195cf8
MD5 as NSData: <ccbe85c2 011c5fe3 da7d7608 49c4f99e>
SHA1 as NSData: <f5b17712 c5d31ab4 9654b0ba adf69956 1958d750>
SHA256 as NSData: <84423607 efac1707 93691344 60239541 285d5ff4 0594f9b8 b16f5675 00162d2e>
SHA512 as NSData: <927323f7 4dec1305 f0a4822a ab380268 b6eab030 eac4af6c 881a529e 61093661 3b0563bc a84af894 cff1e876 522b8f72 1b54da9b be3132f8 de269201 9e195cf8>
或者调用 MD5
、MD5String
、SHA1
、SHA1String
、SHA256
或 SHA256String
任何 NSData
NSData* data = [@"NSHash" dataUsingEncoding:NSUTF8StringEncoding];
NSLog(@"MD5 as NSData: %@", [data MD5]);
NSLog(@"SHA1 as NSData: %@", [data SHA1]);
NSLog(@"SHA256 as NSData: %@", [data SHA256]);
NSLog(@"SHA512 as NSData: %@", [data SHA512]);
NSLog(@"MD5 as NSString: %@", [data MD5String]);
NSLog(@"SHA1 as NSString: %@", [data SHA1String]);
NSLog(@"SHA256 as NSString: %@", [data SHA256String]);
NSLog(@"SHA512 as NSString: %@", [data SHA512String]);
这将返回不需要进行十六进制变换的包含哈希的字节值的 NSData
MD5 as NSData: <ccbe85c2 011c5fe3 da7d7608 49c4f99e>
SHA1 as NSData: <f5b17712 c5d31ab4 9654b0ba adf69956 1958d750>
SHA256 as NSData: <84423607 efac1707 93691344 60239541 285d5ff4 0594f9b8 b16f5675 00162d2e>
SHA512 as NSData: <927323f7 4dec1305 f0a4822a ab380268 b6eab030 eac4af6c 881a529e 61093661 3b0563bc a84af894 cff1e876 522b8f72 1b54da9b be3132f8 de269201 9e195cf8>
MD5 as NSString: ccbe85c2011c5fe3da7d760849c4f99e
SHA1 as NSString: f5b17712c5d31ab49654b0baadf699561958d750
SHA256 as NSString: 84423607efac17079369134460239541285d5ff40594f9b8b16f567500162d2e
SHA512 as NSString: 927323f74dec1305f0a4822aab380268b6eab030eac4af6c881a529e610936613b0563bca84af894cff1e876522b8f721b54da9bbe3132f8de2692019e195cf8
生成的文档(目前只有两个类别,仅包含少数几个方法)也可在 cocoadocs 上查看。