iOS 加密算法之MD5加密使用

本文介绍了加密算法的基础知识,包括对称式和非对称式加密。重点讲解了MD5加密算法,强调其不可逆性,并提供了iOS环境下MD5加密的实现方法。此外,还提到了SHA1、HMAC、AES/DES/3DES、RSA和ECC等其他加密算法。
摘要由CSDN通过智能技术生成

2020.06.04编辑

前言

对于加密算法这个概念我的确不太清楚,虽然我知道加密算法存在的意义,但是这并不妨碍我不知道加密算法具体都有哪些。所以今天这篇文章就是了大家一起学习开发中哪些加密算法。

在学习加密算法之前,我们先给自己提出三个问题:什么是加密算法?为什么用加密算法?怎么用加密算法?

接下来,让我们带着这些问题开始今天的学习之旅吧!

正文

1. 什么是加密算法?为什么用加密算法?

据说,公元前400年,古希腊人就发明了置换密码。1881年世界上的第一个电话保密专利出现。在第二次世界大战期间,德国军方启用“恩尼格码”密码机,密码学在战争中起到非常重要的作用。

就算是在那些谍战的电视剧和电影中,我们也可以感受到信息安全和保密的重要性,正所谓牵一发而动全身,信息泄露在生活中的任何一方面都有可能给当事人或集体造成巨大的打击。密码学的存在就是为了提高数据的保密性、保证数据的完整性还有用于身份验证,可以校验双方的真实性。(看到这里是不是有点点熟悉的感觉,其实这也是HTTPS的特点。)

那么加密算法就是应用密码学的一种可以进行数据加密的算法。其中有些可以解密,有些不可解密。

2. 怎么用加密算法?

不同类型的加密算法使用方法也不一样,加密算法通常分为两大类:“对称式”和“非对称式”。

2.1 对称式加密

对称加密算法 是应用较早的加密算法,又称为 共享密钥加密算法。在对称加密算法中,使用的密钥只有一个,发送和接收双方都使用这个密钥数据进行加密解密。这就要求加密和解密方事先都必须知道密钥是什么。

1.数据加密过程:在对称加密算法中,数据发送方明文(原始数据)和加密密钥一起经过特殊加密处理,生成复杂的加密密文进行发送。

2.数据解密过程:数据接收方收到密文后,如果想要读取原始数据,就需要使用加密使用的密钥及相同算法的逆算法对加密的密文进行解密,才能让密文恢复成可读明文

2.2 非对称式加密

非对称加密算法 又称为 公开密钥加密算法。它和对称加密算法不同的是它需要两个密钥,一个称为公开密钥(public key),即公钥,一个称为私有密钥(private key),就是我们常说的私钥

因为加密和解密使用的是两个不同的密钥,所以这种算法叫做 非对称加密算法。

1.数据加密过程:数据发送方将明文经过某种协定好的密钥特殊加密处理,生成复杂的加密密文进行发送。

2.数据解密过程:数据接收方收到密文后,使用对应的另一种密钥对加密的密文进行解密,将密文解密成原始数据。

注意:

如果使用公钥对数据进行加密,只有对应的私钥才能进行解密。

如果使用私钥对数据进行加密,就得用对应的公钥进行解密。

3.常见的加密算法

3.1 MD5算法(加密不可逆)

MD5就是Message-Digest Algorithm 5(信息-摘要算法),因为使用的是哈希函数,所以也被译为哈希算法。它的典型应用就是对一段信息产生信息摘要,以防止被篡改。严格来说,MD5不是一种加密算法而是摘要算法,因为无论是多长的输入,MD5总是会出输出长度固定为128bit的一个字符串。128bit就是128个0和1的二进制位,而在实际应用开发中,通常是以16进制输出的,所以正好就是32位的16进制,说白了也就是32个16进制的数字。MD5是一种不可逆算法&#x

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值