IOS中DES与MD5加密方案

IOS中DES与MD5加密方案,第1张

概述IOS中DES与MD5加密方案

下面是内存溢出 jb51.cc 通过网络收集整理的代码片段。

内存溢出小编现在分享给大家,也给大家做个参考。

项目中用的的加密算法,因为要和安卓版的适配,中间遇到许多麻烦。
- (Nsstring *)MD5Digest{    //要进行UTF8的转码    const char* input = [self UTF8String];    unsigned char result[CC_MD5_DIGEST_LENGTH];    CC_MD5(input, (CC_LONG)strlen(input), result);        NSMutableString *digest = [NSMutableString stringWithCapacity:CC_MD5_DIGEST_LENGTH * 2];    for (NSInteger i = 0; i < CC_MD5_DIGEST_LENGTH; i++) {        [digest appendFormat:@"%02x", result[i]];    }        return digest;}
+(Nsstring *)trransFromMD532ToMD516:(Nsstring *)MD532{    Nsstring  * string;    for (int i=0; i<24; i++) {        string=[MD532 substringWithRange:NSMakeRange(8, 16)];    }    return string;}
+(Nsstring *) encryptUseDES:(Nsstring *)clearText key:(Nsstring *)key andiv:(Nsstring *)iv{    //这个iv 是DES加密的初始化向量,可以用和密钥一样的MD5字符    NSData * date = [iv dataUsingEnCoding:NSUTF8StringEnCoding];    Nsstring *ciphertext = nil;    NSUInteger dataLength = [clearText length];    NSData *textData = [clearText dataUsingEnCoding:NSUTF8StringEnCoding];        unsigned char buffer[1024];    memset(buffer, 0, sizeof(char));    size_t numBytesEncrypted = 0;    CCCryptorStatus cryptStatus = CCCrypt(kCCEncrypt,//加密模式 kCCDecrypt 代表解密                                          kCCAlgorithmDES,//加密方式                                          kCcoptionPKCS7padding,//填充算法                                          [key UTF8String], //密钥字符串                                          kCCKeySizeDES,//加密位数                                          [date bytes],//初始化向量                                          [textData bytes]  ,                                           dataLength,                                          buffer, 1024,                                          &numBytesEncrypted);    if (cryptStatus == kCCSuccess) {        NSLog(@"DES加密成功");        NSData *data = [NSData dataWithBytes:buffer length:(NSUInteger)numBytesEncrypted];        Byte* bb = (Byte*)[data bytes];        ciphertext = [Base64 parseByteArray2HexString:bb];    }else{        NSLog(@"DES加密失败");    }    return ciphertext;}
enum {    kCCAlgorithmAES128 = 0,    kCCAlgorithmAES = 0,    kCCAlgorithmDES,    kCCAlgorithm3DES,           kCCAlgorithmCAST,           kCCAlgorithmRC4,    kCCAlgorithmRC2,       kCCAlgorithmBlowfish    };
enum {    /* options for block ciphers */    kCcoptionPKCS7padding   = 0x0001,    kCcoptionECBMode        = 0x0002    /* stream ciphers currently have no options */};
kCcoptionPKCS7padding

以上是内存溢出(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

总结

以上是内存溢出为你收集整理的IOS中DES与MD5加密方案全部内容,希望文章能够帮你解决IOS中DES与MD5加密方案所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1106614.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存