各种常用的加密(MD5,SHA,)
来源:互联网 发布:企业淘宝开店费用明细 编辑:程序博客网 时间:2024/05/22 15:47
使用之前需要导入: #import<CommonCrypto/CommonDigest.h>
- (IBAction)commonMd5BtnPressed:(id)sender {
[entryptTypeLabelsetText:@"常规md5加密"];
[introLabel1setText:@"32位小写"];
[resultLabel1setText:[selfgetMd5_32Bit_String:srcStringTextField.text]];
//只需将得到的加密字串转化成大写即可
[introLabel2setText:@"32位大写"];
[resultLabel2setText:[[selfgetMd5_32Bit_String:srcStringTextField.text]uppercaseString]];
[introLabel3setText:@"16位小写"];
[resultLabel3setText:[selfgetMd5_16Bit_String:srcStringTextField.text]];
[introLabel4setText:@"16位大写"];
[resultLabel4setText:[[selfgetMd5_16Bit_String:srcStringTextField.text]uppercaseString]];
}
- (IBAction)secondaryMd5BtnPressed:(id)sender {
//实际上就是做两次常规转化
[entryptTypeLabelsetText:@"二次md5加密"];
[introLabel1setText:@"32位小写"];
[resultLabel1setText:[selfgetMd5_32Bit_String:[selfgetMd5_32Bit_String:srcStringTextField.text]]];
//只需将得到的加密字串转化成大写即可
[introLabel2setText:@"32位大写"];
[resultLabel2setText:[[selfgetMd5_32Bit_String:[[selfgetMd5_32Bit_String:srcStringTextField.text]uppercaseString]]uppercaseString]];
[introLabel3setText:@"16位小写"];
[resultLabel3setText:[selfgetMd5_16Bit_String:[selfgetMd5_16Bit_String:srcStringTextField.text]]];
[introLabel4setText:@"16位大写"];
[resultLabel4setText:[[selfgetMd5_16Bit_String:[[selfgetMd5_16Bit_String:srcStringTextField.text]uppercaseString]] uppercaseString]];
}
//sha加密
- (IBAction)shaBtnPressed:(id)sender{
[entryptTypeLabelsetText:@"sha安全哈希加密"];
[introLabel1setText:@"sha1加密"];
[resultLabel1setText:[selfgetSha1String:srcStringTextField.text]];
[introLabel2setText:@"sha256加密"];
[resultLabel2setText:[selfgetSha256String:srcStringTextField.text]];
[introLabel3setText:@"sha384加密"];
[resultLabel3setText:[selfgetSha384String:srcStringTextField.text]];
[introLabel4setText:@"sha512加密"];
[resultLabel4setText:[selfgetSha512String:srcStringTextField.text]];
}
//16位MD5加密方式
- (NSString *)getMd5_16Bit_String:(NSString *)srcString{
//提取32位MD5散列的中间16位
NSString *md5_32Bit_String=[selfgetMd5_32Bit_String:srcString];
NSString *result = [[md5_32Bit_StringsubstringToIndex:24]substringFromIndex:8];//即9~25位
return result;
}
//32位MD5加密方式
- (NSString *)getMd5_32Bit_String:(NSString *)srcString{
constchar *cStr = [srcString UTF8String];
unsignedchar digest[CC_MD5_DIGEST_LENGTH];
CC_MD5( cStr,strlen(cStr), digest );
NSMutableString *result = [NSMutableStringstringWithCapacity:CC_MD5_DIGEST_LENGTH *2];
for(int i =0; i < CC_MD5_DIGEST_LENGTH; i++)
[result appendFormat:@"%02x", digest[i]];
return result;
}
//sha1加密方式
- (NSString *)getSha1String:(NSString *)srcString{
constchar *cstr = [srcString cStringUsingEncoding:NSUTF8StringEncoding];
NSData *data = [NSDatadataWithBytes:cstr length:srcString.length];
uint8_t digest[CC_SHA1_DIGEST_LENGTH];
CC_SHA1(data.bytes, data.length, digest);
NSMutableString* result = [NSMutableStringstringWithCapacity:CC_SHA1_DIGEST_LENGTH *2];
for(int i =0; i < CC_SHA1_DIGEST_LENGTH; i++) {
[result appendFormat:@"%02x", digest[i]];
}
return result;
}
//sha256加密方式
- (NSString *)getSha256String:(NSString *)srcString {
constchar *cstr = [srcString cStringUsingEncoding:NSUTF8StringEncoding];
NSData *data = [NSDatadataWithBytes:cstr length:srcString.length];
uint8_t digest[CC_SHA256_DIGEST_LENGTH];
CC_SHA1(data.bytes, data.length, digest);
NSMutableString* result = [NSMutableStringstringWithCapacity:CC_SHA256_DIGEST_LENGTH *2];
for(int i =0; i < CC_SHA256_DIGEST_LENGTH; i++) {
[result appendFormat:@"%02x", digest[i]];
}
return result;
}
//sha384加密方式
- (NSString *)getSha384String:(NSString *)srcString {
constchar *cstr = [srcString cStringUsingEncoding:NSUTF8StringEncoding];
NSData *data = [NSDatadataWithBytes:cstr length:srcString.length];
uint8_t digest[CC_SHA384_DIGEST_LENGTH];
CC_SHA1(data.bytes, data.length, digest);
NSMutableString* result = [NSMutableStringstringWithCapacity:CC_SHA384_DIGEST_LENGTH *2];
for(int i =0; i < CC_SHA384_DIGEST_LENGTH; i++) {
[result appendFormat:@"%02x", digest[i]];
}
return result;
}
//sha512加密方式
- (NSString*) getSha512String:(NSString*)srcString {
constchar *cstr = [srcString cStringUsingEncoding:NSUTF8StringEncoding];
NSData *data = [NSDatadataWithBytes:cstr length:srcString.length];
uint8_t digest[CC_SHA512_DIGEST_LENGTH];
CC_SHA512(data.bytes, data.length, digest);
NSMutableString* result = [NSMutableStringstringWithCapacity:CC_SHA512_DIGEST_LENGTH *2];
for(int i =0; i < CC_SHA512_DIGEST_LENGTH; i++)
[result appendFormat:@"%02x", digest[i]];
return result;
}
- 各种常用的加密(MD5,SHA,)
- JAVA 常用的加密算法之单向加密MD5和SHA
- java 实现各种加密(MD5 ,SHA-1,SHA-256)
- md5加密和sha加密的使用
- 可直接用于React Native开发各种加密标准的JavaScript库(MD5,AES,DES,SHA...)
- 可直接用于React Native开发各种加密标准的JavaScript库(MD5,AES,DES,SHA...)
- 实现MD5和SHA加密的类
- MD5,MD2,SHA加密的实现方式
- SHA-1 加密(与MD5的区别)
- 各种加密签名算法MD5/SHA, DES,RSA,DSA,ECC
- MD5/SHA 加密处理
- MD5+SHA+BASE64加密
- MD5和SHA加密
- MD5和SHA加密
- 加密之SHA,MD5
- 项目里面常用的加密方式base64、AES、MD5、sha-1
- MD5加密与SHA加密
- 常用的加密算法MD5、SHA-1
- C++作业四
- UITabBarController(底部控制栏)
- 第8周项目1 - 数组作数据成员 (1)
- 关于C# winform 程序退出说明
- nginx下载及配置
- 各种常用的加密(MD5,SHA,)
- NGUITween使用技巧
- 分数类的雏形
- 第四次上机作业
- highcharts 生成饼状图 的具体实现
- HDU 1575 Tr A(矩阵快速幂)
- bnuoj 中国地质大学(北京)第三届程序设计竞赛
- 如何让vmware 虚拟机 linux 系统可以上网
- DWR 3 反转Ajax