最新公告
  • 欢迎您光临欧资源网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入我们
  • 对称加密算法又称传统加密算法加密和解密使用

    1、介绍对称加密算法也称为传统加密算法。加密和解密使用相同的密钥。

    1.1 对称加密算法示例密钥:X 加密算法:每个字符+X 明文:Hello 密钥为1 时的加密结果:Ifmmp 密钥为2 加密结果:Jgnnq

    1.2、算法优缺点公开,计算量小,加密速度快,加密效率高。双方使用相同密钥,安全性无法保证

    1.3、注意事项 密钥的保密性非常重要。钥匙需要定期更换

    2、经典加密算法DES(Data Encryption Standard):数据加密标准(现在用的比较少,因为它的加密强度不够,可以暴力破解)

    3DES:原理与DES几乎相同,只是使用3个密钥对同一数据进行3次加密,以增强加密强度。(缺点:要维护3把钥匙,大大增加了维护成本)

    AES(Advanced Encryption Standard):高级加密标准,目前由美国国家安全局使用,Apple 的钥匙串访问使用 AES 加密。它现在被公认为对称密钥加密中最安全的加密方法和最流行的算法。

    2.1、加密方式

    ECB:电子密码本,即每个区块独立加密。

    Snip20160421_1.png

    CBC:使用密钥和初始化向量 (IV) 对数据执行加密转换的密码块链。

    Snip20160421_2.png

    只要对称加密有ECB和CBC模式常用的对称密码算法有哪些,加密模式就是加密过程中对独立数据块的处理。加密长明文需要块加密。在实际开发中,推荐使用CBC,ECB应谨慎使用。

    3、终端演示ECB和CBC加密的特点

    终端命令如下

    欧洲央行

    加密

    $openssl enc -des-ecb -K 616263 -nosalt -in msg1.txt -outmsg1.bin

    解密

    $openssl enc -des-ecb -K 616263 -nosalt -in msg1.bin -outmsg1.txt -d

    查看加密的二进制文件

    $xxd msg1.bin//xxd命令用于以十六进制显示文件内容

    加拿大广播公司

    加密

    $openssl enc -des-cbc -K 616263 -iv000000000000 -nosalt -inmsg1.txt -out msg1.bin

    解密

    $openssl enc -des-cbc -K 616263 -iv000000000000 -nosalt -inmsg1.bin -out msg1.txt -d

    查看加密的二进制文件

    $xxd 信息1.bin

    3、代码实现

    (void)AESDemo {/************EBC ******************///keyNSString 用于加密 *key = @”abc”; //要加密的字符串 NSString *str = @”i love you”;//加密的 NSString *result = [CryptorTools AESEncryptString:str keyString:key iv:nil];NSLog(@”ECB encryption = %@”,result ) ;// 使用 base64 解码(echo -n “0qg3nXM31/76bCMMJ6NRRg==” ! | base64 -D)NSLog(@”ECB decrypt=%@”,[CryptorTools AESDecryptString:result keyString:key iv:nil]);

    /************CBC ****************/

    uint8_t iv[8] = {1,2,3,4,5,6,7,8};

    NSData *ivData = [NSData dataWithBytes:iv length:sizeof(iv)];NSString *result1 = [CryptorTools AESEncryptString:str keyString:key iv:ivData];NSLog(@”CBC 加密 = %@”,result1)@ >;NSLog(@”CBC 解密=%@”,[CryptorTools AESDecryptString:result1 keyString:key iv:ivData]);}

    通过终端命令ECB加密/解密验证上述代码加密的结果

    AES (ECB) 加密

    $echo -n “我爱你” | openssl enc -aes-128-ecb -K616263 -nosalt | base64

    AES (ECB) 解密

    $echo -n “0qg3nXM31/76bCMMJ6NRRg==” | base64 -D | openssl enc -aes-128-ecb -K616263 -nosalt -d

    CBC加密/解密

    AES(CBC) 加密

    $echo -n “我爱你” | openssl enc -aes-128-cbc -iv 0102030405060708-K 616263-nosalt | base64

    AES(CBC) 解密

    $echo -n “DLUEfBbhjjk2yaKhAlkJwA==” | base64 -D | openssl enc -aes-128-cbc -iv0102030405060708 -K 616263-nosalt -d

    终端命令说明加密过程是先加密,再base64编码。解密过程是先base64常用的对称密码算法有哪些,再解密。

    在哪里 | 在命令中称为管道。作用是将上一条命令的结果作为参数传递给下一条命令 -K是key的ASCII码的十六进制

    站内大部分资源收集于网络,若侵犯了您的合法权益,请联系我们删除!
    欧资源网 » 对称加密算法又称传统加密算法加密和解密使用

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    欧资源网
    一个高级程序员模板开发平台

    发表评论