加密算法-SHA (带私密)

本文介绍了一种使用二次加密的方法,首先通过SHA算法进行初步加密,然后结合私有密钥再次进行SHA加密,以增强数据的安全性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 NSString+SHA

 使用二次加密法:

 第一次使用SHA加密;

 第二次使用密钥再次使用SHA加密

/
                      #import "NSString+SHA.h"
/
#import<Foundation/Foundation.h>

@interface NSString (SHA)
/**
 * 
String根据秘钥进行加密
 *
 * 
@param string需要加密的文件
 *
 * 
@return加密后的文件
 */

+ (
NSString *)encryptFromSting:(NSString *)string;
@end
/
                      #import "NSString+SHA.h"
/

#import"NSString+SHA.h"
#import
<CommonCrypto/CommonHMAC.h>
//秘钥
const NSString *basecode = @"ZzRjsoft.cn sunbing";

@implementation NSString (SHA)
+ (NSString *)encryptFromSting:(NSString *)string
{
    const char *cstr = [string UTF8String];
   
   
    const char *baseCS = [basecode UTF8String];
    uint8_t digest[CC_SHA1_DIGEST_LENGTH];
   
    CC_SHA1_CTX ctx;
    CC_SHA1_Init(&ctx);
    CC_SHA1_Update(&ctx, cstr, (CC_LONG)strlen(cstr));
   
    CC_SHA1_Update(&ctx, baseCS, (CC_LONG)strlen(baseCS));
    CC_SHA1_Final(digest, &ctx);
   
    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;
}

@end
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值