美文网首页iOS加密整理
iOS小笔记 | DES加密

iOS小笔记 | DES加密

作者: 无夜之星辰 | 来源:发表于2019-03-25 22:29 被阅读0次

初次接触DES加密的人可能会懵逼,包括我,懵逼的主要原因是不知道有哪些参数。以前接触过MD5加密,很简单的一种加密方式,网上随便一搜,封装好的代码一大堆,随便copy一个都能用。虽然DES加密网上现成的代码也不少,但是由于其参数比较多,你若不了解其参数,别人提供的代码你将很难借鉴。

那如何快速了解DES加密所需参数?

很简单,网上随便找一个在线DES加密网站,如:http://tool.chacuo.net/cryptdes

你会看到:

除了需要待加密文本,还需要:

  1. 加密模式
  2. 填充
  3. 密码(也就是所谓的key)
  4. 偏移量
  5. 输出
  6. 字符集

这些参数的具体值到底该怎么填?当然是问你们后台,或者直接把那个在线加密网站给他,让他加密一次。

OK,到这里你已经清楚DES加密需要哪些参数了,后面的就很简单了。

提供一个我用的:

/** DES加密 */
+ (NSString *)desEncryptWithString:(NSString *)plainText {
    NSString *ciphertext = nil;
    NSData *textData = [plainText dataUsingEncoding:NSUTF8StringEncoding];
    NSUInteger dataLength = [textData length];
    unsigned char buffer[1024 * 5];
    memset(buffer, 0, sizeof(char));
    size_t numBytesEncrypted = 0;
    CCCryptorStatus cryptStatus = CCCrypt(kCCEncrypt, kCCAlgorithmDES,
                                          kCCOptionPKCS7Padding | kCCOptionECBMode,
                                          [@"你们的key" UTF8String],
                                          kCCKeySizeDES,
                                           [@"你们的偏移量" UTF8String],
                                          [textData bytes], dataLength,
                                          buffer, 1024,
                                          &numBytesEncrypted);
    if (cryptStatus == kCCSuccess) {
        NSData *data = [NSData dataWithBytes:buffer length:(NSUInteger)numBytesEncrypted];
        ciphertext = [data base64EncodedStringWithOptions:0];
    }
    return ciphertext;
}

如果想对参数有更多的了解,建议再看一下这篇文章:

(iOS)Base64加密和DES加密、以及JAVA和iOS中DES加密统一性问题

相关文章

  • iOS 笔记之_时间戳 + DES 加密

    iOS 时间戳 + DES 加密 时间戳 DES 加密解密 加密内容:helloWorldDES加密成功加密结果:...

  • 面试题总结

    1. iOS开发中的加密方式 iOS加密相关算法框架:CommonCrypto。 对称加密: DES、3DES、A...

  • iOS小笔记 | DES加密

    初次接触DES加密的人可能会懵逼,包括我,懵逼的主要原因是不知道有哪些参数。以前接触过MD5加密,很简单的一种加密...

  • DES加密 解密 java和iOS 保持一致

    1.java/android DES加密解密 base64编码用的jdk1.8 2.iOS DES加密解密

  • IOS的签名机制

    前言 了解IOS的数字签名机制之前我们需要掌握以下几个知识:加密解密(对称加密(DES 3DES AES),非对称...

  • Android Des/3DES加解密

    1、3DES加解密 DES加密分为 单DES和 3DES加密 单DES加密是8个字节长度加密 3DES加密分为:双...

  • Laravel 3DES (php、java、android、i

    Laravel 3DES Laravel 3DES加密解密,和java,ios互通 安装方法 配置方法 app.p...

  • iOS DES加密

    NSString分类创建 DES 宏定义key 加密 解密 在这里介绍一个三方工具 非常简单导入通过GTMBa...

  • ios des加密

    前言 des加密做的时候后端前端ios和安卓三端需统一 1、DES加密有两种模式,ECB和CBC。还有就是填充模式...

  • iOS常用加解密方式

    AES128 AES128加密 AES128解密 3DES 3DES加密 3DES解密 DES DES加密 DES解密

网友评论

    本文标题:iOS小笔记 | DES加密

    本文链接:https://www.haomeiwen.com/subject/ggsdvqtx.html