【Objective-c】 自定義加密方式及格式轉(zhuǎn)換

最近跟加密杠上了,這里先說(shuō)說(shuō)base64加密,后續(xù)會(huì)繼續(xù)增加各種加密方式

1、base64 + “KEY” 異或加密

簡(jiǎn)單的base64加密這里就不介紹了,主要都是使用第三方庫(kù)“CTMBase64” ,一段代碼搞定

[string base64EncodedString];

重點(diǎn)的是在明文添加一個(gè)“KEY”字符串并進(jìn)行異或運(yùn)算,得出另外一個(gè)字符串,然后再進(jìn)行base64加密。因?yàn)閎ase64加密是可逆的(MD5加密不可逆),很容易就泄漏密碼,不安全,所以一般都是跟后臺(tái)商量好一定的法則,在原來(lái)的基礎(chǔ)上添加或者重新排序的方法對(duì)明文進(jìn)行變更...
代碼如下:

#pragma mark - base64 + KEY 加密
- (NSString *)encodeString:(NSString *)sourceString withKey:(NSString *)keyString{
    if ([sourceString isEqualToString:@""]||[keyString isEqualToString:@""]) {
        return @"";
    }
    //密碼轉(zhuǎn)字節(jié)數(shù)組
    NSData *source = [sourceString dataUsingEncoding:NSUTF8StringEncoding];
    Byte *sourceBytes = (Byte *)[source bytes];
    //KEY轉(zhuǎn)字節(jié)數(shù)組
    NSData *key = [keyString dataUsingEncoding:NSUTF8StringEncoding];
    Byte *keyBytes = (Byte *)[key bytes];
    //異或運(yùn)算
    int i=0;
    int j=0;
    for (; i<source.length; j++) {
        if (j==key.length){
            j=0;
        }
        sourceBytes[i] = sourceBytes[i]^keyBytes[j];
        i++;
    }
    //對(duì)密文與KEY異活運(yùn)算得出的字符串進(jìn)行base64加密
    NSData *resultData = [[NSData alloc]initWithBytes:sourceBytes length:source.length];
    return [resultData base64EncodedString];
}

特別感謝以下博客的內(nèi)容:
http://blog.csdn.net/wscqqlucy/article/details/8268412

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 概述 之前一直對(duì)加密相關(guān)的算法知之甚少,只知道類似DES、RSA等加密算法能對(duì)數(shù)據(jù)傳輸進(jìn)行加密,且各種加密算法各有...
    Henryzhu閱讀 3,222評(píng)論 0 14
  • CTF中那些腦洞大開(kāi)的編碼和加密 0x00 前言 正文開(kāi)始之前先閑扯幾句吧,玩CTF的小伙伴也許會(huì)遇到類似這樣的問(wèn)...
    查無(wú)此人asdasd閱讀 6,457評(píng)論 0 19
  • 一條流浪的魚(yú) 死在異鄉(xiāng),聽(tīng)說(shuō) 它在退潮時(shí)沒(méi)能趕上 悄悄隱去的潮汐 它那突起的眼睛 一只貼著河面,一只 仰望天空 僵...
    詩(shī)姬閱讀 500評(píng)論 4 12

友情鏈接更多精彩內(nèi)容