精华内容
下载资源
问答
  • 根据秘钥使用方式,将密码分为两种:对称加密(AES)非对称加密(RSA)在对称密码中,加密、解密时使用是同一个密钥:如下图所示流程:对称加密流程在使用对称加密时,我们不可避免会遇到秘钥配送问题,假设...

    cc79448cb58dca1ca68b2b3b4309b2a6.png

    根据秘钥的使用方式,将密码分为两种:

    对称加密(AES)

    非对称加密(RSA)

    在对称密码中,加密、解密时使用的是同一个密钥:

    如下图所示流程:

    对称加密流程

    在使用对称加密时,我们不可避免的会遇到秘钥的配送问题,假设我们Alice要发送一个通过秘钥加密过的消息给到Bob,那么:

    只有将密钥发送给Bob,Bob才能完成解密

    在发送密钥过程中,可能会被Eve窃取密钥,最后Eve也能完成解密

    如下流程:

    消息发送及可能被窃取流程

    对于这种秘钥可能会被第三方窃取的情况,我们可以通过下述几种方案解决:

    事先共享密钥

    密钥分配中心

    Diffie-Hellman密钥交换

    公钥密码

    公钥密码

    秘钥分为加密秘钥和解密秘钥两个,两者不是同一个秘钥,也被称为非对称密码(Asymmetric Cryptography)。

    其中注意点:

    加密密钥,一般是公开的,因此该密钥称为公钥(public key)

    解密密钥,由消息接收者自己保管的,不能公开,因此也称为私钥(private key)

    公钥和私钥是一 一对应的,是不能单独生成的,一对公钥和密钥统称为密钥对(key pair)

    由公钥加密的密文,必须使用与该公钥对应的私钥才能解密

    由私钥加密的密文,必须使用与该私钥对应的公钥才能解密

    公钥密码使用流程

    公钥密码解决了秘钥的配送问题:

    由消息的接收者,生成一对公钥、私钥

    将公钥发给消息的发送者

    消息的发送者使用公钥加密消息

    RSA加密的由来:

    目前使用最广泛的公钥密码算法是RSA

    RSA的名字,由它的3位开发者,即Ron Rivest、Adi Shamir、Leonard Adleman的姓氏首字母组成。

    混合密码系统

    鉴于以上两种加密方式都各有优缺点:

    对称加密缺点:无法很好的解决秘钥配送的优缺点

    公钥密码缺点:加密与解密速度比较慢

    混合密码系统,是将对称密码和公钥密码的优势相结合的方法,解决了公钥密码速度慢的问题,并通过公钥密码解决了对称密码的密钥配送问题。网络上的密码通信所用的SSL/TLS都运用了混合密码系统。

    混合密码的加密:

    会话密钥(session key)

    为本次通信随机生成的临时密钥

    作为对称密码的密钥,用于加密消息,提高速度

    加密步骤(发送消息)

    首先,消息发送者要拥有消息接收者的公钥

    生成会话密钥,作为对称密码的密钥,加密消息

    用消息接收者的公钥,加密会话密钥

    将前2步生成的加密结果,一并发给消息接收者

    发送出去的内容包括

    用会话密钥加密的消息(加密方法:对称密码)

    用公钥加密的会话密钥(加密方法:公钥密码)

    混合密码加密流程

    解密步骤(收到消息)

    消息接收者用自己的私钥解密出会话密钥

    再用第1步解密出来的会话密钥,解密消息

    混合密码解密流程

    混合密码加解密流程小结:

    Alice >>>>> Bob

    发送过程,加密过程

    1.Bob先生成一对公钥、私钥

    2.Bob把公钥共享给Alice

    3.Alice随机生成一个会话密钥(临时密钥)

    4.Alice用会话密钥加密需要发送的消息(使用的是对称密码加密)

    5.Alice用Bob的公钥加密会话密钥(使用的是公钥密码加密,也就是非对称密码加密)

    6.Alice把第4、5步的加密结果,一并发送给Bob

    接收过程,解密过程

    1.Bob利用自己的私钥解密会话密钥(使用的是公钥密码解密,也就是非对称密码解密)

    2.Bob利用会话密钥解密发送过来的消息(使用的是对称密码解密)

    总的来说,AES加密发送者发送消息会将秘钥与秘钥加密过的明文一起发送给接受者,这种情况下无法保证秘钥传输过程中的安全配送问题;而RSA密码则是生成一对不同的公钥和私钥,是成对的。事先接受者先将公钥共享给发送方,然后发送方利用此公钥对明文内容进行加密,随后发送给接受方,接收方收到消息拿配对的私钥进行解密,得到明文,过程复杂,效率较低。

    而混合加密则采取两家之长,即解决了秘钥的安全配送问题,同时也提高了加密与解密效率。混合加密先是接收方将生成的公钥共享给发送方一份,发送方使用此公钥将生成的会话秘钥进行加密,同时发送方使用会话秘钥对明文内容进行加密,完成加密后,将两份加密过的内容一起发送给接收方,接收方接收到消息,先通过配对的私钥解密出会话秘钥,然后使用会话秘钥对密文进行解密,得到明文内容。到此一个完成混合加密流程就算是完成了。

    展开全文
  • 浙江邮电工程建设有限公司大数据研究院 ——段兴才 众所周知数据对于一个公司来说,非常重要,一旦数据泄露... 对称加密是指加密和解密使用相同密钥加密算法,常见的对称加密算法有DES,DES3,AES加密算法。对称加密...

    f50c9aba61e23b391959b1e429e53c13.png

    浙江邮电工程建设有限公司大数据研究院 ——段兴才

    众所周知数据对于一个公司来说,非常重要,一旦数据泄露,公司将面临非常大的威胁,数据加密非常重要。

    对称加密是指加密和解密使用相同密钥的加密算法,常见的对称加密算法有DES,DES3,AES加密算法。对称加密由于其加解密速度快,常被用于大量的数据加密场景,还有对传输效率要求高的场景如VPN之间的传输,但是由于其密匙不方便保存,所以适合于内部系统。

    1 DES加密算法

    DES加密算法是一种分组加密算法,通过将输入的明文按64位一组,进行分组加,加密过程分为初始置换明文,分组明文,生成子密匙,密匙与明文加密,经过S盒替(如表1.14所示),P盒替换(如图1.16所示),置换后的密文与原32位明文加密。具体流程图如下图1.1 DES加密流程图

    af3c8fcb82e1bf24f4d85883d21ea430.png

    图1.1 DES流程图

    初始置换:初始置换是只将输入的64位明文,按照一个置换表进行置换位置,具体置换规则:初始数据里面的64是1号位,置换表的1则到了第40这个位置,那么64置换之后就到了第40这个位置、63是原来的2号位,在置换表里面是第8号位,所以63经过置换表则到了第8位,其他的位置执行同样的操作,具体操作如表1.1,表1.2,表1.3:

    表1.1 初始数据表

    13d82a71efd64b124e9f2a1ecdce77ad.png

    表1.2 置换表

    9425314dc4771094f20d6e9a66e59e95.png

    表1.3 置换后数据

    a7f29b3ea20f8aeb3c2babc2e470f63a.png

    拿到置换后的数据后,将明文分组左右两组。将初始置换之后的数据按前32位为左边L0,后32位为右边R0。具体分组如表1.4,1.5.

    表1.4 左边L0

    281f6c511e7c42bb76a335a10ab64ea9.png

    表1.5 右边R0

    c937079a37426890f96fda22e1b7d405.png

    主密匙是用户定义的一个密匙,将一个主密匙生成16个子密匙,每一次操作用一个密匙。用户设置的一个64位key,我们将其忽略第8,16,24,32,40,48,56,64奇偶检验位。得到一个56位key,将其进行移位操作,再进行压缩置换就得到具体加密的KEY。具体操作如表1.6 所示

    表1.6 移位操作是移位表

    79a68954d345d9c14c98d9af08e3da9d.png

    从表中我们可以知道,第一轮是左移一位,第三轮是左移两位,后面一堆位数安按照1.6所示即可。具体移位如表1.7,表1.8

    表1.7 主密匙表

    fb6bd49bf94c70fc6fc3b4fabc5f28de.png

    表1.8 左移一位后的密匙

    fc42b6a1060a55e2ef48eac506b92ab2.png

    移位之后进行压缩置换,将56位的密匙进行48位的置换表置换,得到48位密匙舍去8位,如表1.9,1.10,表1.11所示

    表1.9 密匙

    2c12d40b53acef6192a973c51d9a6519.png

    表1.10 48位置换表

    3f8fed2ed85d36ba2c9a4bb5c922d5a4.png

    表1.11 置换之后得到的数据KEY1

    7d9e5b919b411125d05274b1b0a3d5dd.png

    得到48位密匙后,因为明文分组是32位,所以对明文进行扩充置换成48位,以下操作是对明文进行扩充置换,对于扩充后的明文我们可以发现,他中间四列是原来的明文,并没有修改,增加的第一列是原明文的最后一列从倒数排列,新添加的第后一列,则是第一列的倒数。具体如表1.12,表1.13所示。

    表1.12 左边明文L0

    eb0bbeda7c523bc8f24daca3a030353e.png

    表1.13 扩充之后的明文L0

    bf9fb4e14afe9ce003067840ef9ea90d.png

    现在得到48位密匙和48位数据,就可以进行异或加密操作了。异或操作后面拿到的数据是加密后的数据,我们对此数据进行S盒替换和P盒替换。

    S盒替换是将48位的数,分组8组,一组6位,进入S盒,一个S盒6位输入4位输出,及48位出入,进入8个S盒输出只有32位。具体替换如表1.14。

    表1.14 S0盒:

    b21b2f79d15e36a98aeed8be83828dce.png

    例如:输入为101110 那么他的第一位和最后一位组合10转换位10进制则为2及第2行,中间四为0111转为10进制及为7及第7列,所以第2行,第7列及为2转为2进制及为0010,所以输入101110,输出0010,S盒替换完成。经过S盒换以后就要经过P盒替换了,具体替换过程如下表1.15,1.16,1.17所示

    表1.15 S盒替换后的数据

    f09763264f77c4d4e33068fa0cd11db5.png

    表1.16 P盒

    801f43b7a3840e0d34f21714250484ce.png

    表1.17 P盒置换后的数据

    de0bfea1a3b949b9ac020c487e49b41f.png

    现在我们已经拿到P盒置换后的数据了,再跟我们第一次分组生成的32位左边的数据进行异或操作,这次拿到的数据就是我们第一轮加密后的数据,再进行左右互换,进行同样的加密操作,连续操作16次,加密就算完成了。

    加密完成了,接下来就是解密了,解密和加密是同样的操作,输入64位明文,进行初始置换,将KEY倒着进行加密,密匙移位,加密是向左移,那么解密就是向右移,执行同样的操作就可以解密进行解密操作。

    2 AES加密算法

    AES加密算法是分组加密,每一组是16字节,是目前主流的高级加密算法。他的加密过程主要分为密匙轮询,字节替代,行移动,列混合,密匙加轮…….以上操作重复10次,输出的即是加密的数据,具体流程图如1.2所示

    f74849337353b5ff3db5b6ee7b5e9fed.png

    图2.1 AES加密流程图

    密匙加轮:用密匙与原文进行异或操作,原文是128位,密文也是128位,首先将主密匙与原文进行异或操作,后面再用主密匙生成40位子密匙。密匙生成过程如下所示:

    KEY = 3C A1 0B 21 57 F0 19 16 90 2E 13 80 AC C1 07 BD

    初始密匙:

    W[0]=3C A1 0B 21
    W[1]=57 F0 19 16
    W[2]=90 2E 13 80
    W[3]=AC C1 07 BD

    生成密匙算法:
    1.如果i不是4的倍数,那么第i列用如下公式:
    W[i]=W[i-4] XOR W[i-1] (XOR表示异或的意思,下同)
    2.如果i是4的倍数,那么第i列用如下公式:
    W[i]=W[i-4] XOR T(W[i-1])
    解释一下T()函数:由三部分组成,字循环,字节替代,轮常量代替异或。
    a.字循环:将1个字中的4个字节循环左移1个字节。即将输入字[a0, a1, a2, a3]变换成 [a1,a2,a3,a0]。
    b.字节代换:对字循环的结果使用S盒进行字节代换(具体S盒如图2.2所示)。
    c.轮常量异或:将前两步的结果同轮常量进行异或。具体如表2.1所示

    表2.1 轮询常量表

    21c283e78b7c9385e3c03c50ac147a7e.png

    例如:

    初始密匙

    W[0]=3C A1 0B 21
    W[1]=57 F0 19 16
    W[2]=90 2E 13 80
    W[3]=AC C1 07 BD

    计算W[4],W[5],W[6],W[7]

    求W[4]的时候,因为4是4的倍数,所以,我们先要求T(W[3])

    W[3]= AC C1 07 BD

    左移一位 得到 C1 07 BD AC

    进入S和字节替换

    进S盒替换时,例如替换C1,C则是行,1则是列,找到第C行第1列即可以找到替换的数字(16进制的数),S盒具体如图1.3所示

    94549be86b041a6fb09f178ad664735d.png

    图2.2 S盒

    C1在S盒中对应78,

    07在S盒中对应C5

    BD在S盒中对应7A

    AC在S盒中对应 91

    所以经过第二步S盒替换变成了78,C5,7A,91

    (3).将78 C5 7A 91 XOR 01 00 00 00 = 79 C5 7A 91

    所以计算密匙如下:

    W[4]= W[0] XOR T(W[3] ) = 3C A1 0B 21 XOR 79 C5 7A 91 = 45 64 71 B0
    W[5]= W[1] XOR W[4] = 57 F0 19 16 XOR 45 64 71 B0 = 12 94 68 A6
    W[6]= W[2] XOR W[5] = 90 2E 13 80 XOR 12 94 68 A6 = 82 BA 7B 26
    W[7]= W[3] XOR W[6] = AC C1 07 BD XOR 82 BA 7B 26 = 2E 7B 7C 9B

    同样的方法计算其他密匙。

    有了密匙,将明文与密匙异或运算,接下来进行字节替代。例如,假设我们明文与密匙加轮得到的数据是abcdefghijklmnop具体如表2.2,2.3,2.4所示

    表2.2 轮询后的数据

    d8e8f134e82bd47e22f1aa3dd378285b.png

    表2.3 转化为16进制

    b1c714597d08715a5b00191010ecde9c.png

    表2.4S盒替代之后的数据

    945cb972f3469a404e7b224078cb4b8c.png

    S盒如图1.3所示,如果替换后出来本就是16进制的数则不需要转换,如果不是将a转为16进制0x61则在S盒中找到第6行第1个数,这个数就是要替换的数,替换其他数也是同样的操作。

    接下来就是行移动,列混合就是将每一列移动不同的位数,第一列不移动,第二列移动一位,第三列移动两位,第四列移动三位。具体一位如下表2.5,2.6:

    表2.5 移位前的数据

    58cc1b7183c847e1175b19fea0aa1e8b.png

    表2.6 移位后的数据

    25ae9deb307dd556e43f11c40b340199.png

    行移动后就是列混合了,列混合就是将行移动后的矩阵乘一个固定矩阵。具体如下表2.7,2.8所示

    表2.7行移动后的数据

    f7ac9774f8755386b30978a787085bdf.png

    表2.8先转10进制

    9710f2881e1eb74751fd4109721c1f22.png

    转10进制进行与固定矩阵相乘

    a161106e96ba4698cb76df622486a0d5.png

    得到结果矩阵后,将其转为16进制,到此第一轮加密结束,后续只需将结果矩阵当成第2个KEY进行执行同样的加密操作。

    解密操作和加密操作一样,用最后一组密匙对密文进行密匙轮询,再用逆S盒进行字节替代,行移动是向右移动,列混合是乘固定矩阵的逆矩阵,后面操作与前面操作一样,轮询10次即可解密回来。

    AES加密的代码实现,由于代码过多,只列出主要加密,解密代码,具体代码如图2.3,2.4,2.5,2.6所示

    AES加密代码

    e624eb0c85d517f4cda2b4942cf0d00c.png

    图2.3 AES加密代码

    AES解密代码

    1edc61887f9dc9f41ae154871e62df00.png

    图2.4 AES解密代码

    AES输出代码

    39db639aff25fd03b51d44eb8947bae8.png

    图2.5 AES输出代码

    c7b839bfde33b855da4576a60fbe3e4f.png

    图2.6 AES加密输出,解密回来结果

    展开全文
  • 根据秘钥使用方式,将密码分为两种:对称加密(AES)非对称加密(RSA)在对称密码中,加密、解密时使用是同一个密钥:如下图所示流程:对称加密流程在使用对称加密时,我们不可避免会遇到秘钥配送问题,假设...

    55d59a8a920544737f45d3a55e6a15ba.png

    根据秘钥的使用方式,将密码分为两种:

    对称加密(AES)

    非对称加密(RSA)

    在对称密码中,加密、解密时使用的是同一个密钥:

    如下图所示流程:

    对称加密流程

    在使用对称加密时,我们不可避免的会遇到秘钥的配送问题,假设我们Alice要发送一个通过秘钥加密过的消息给到Bob,那么:

    只有将密钥发送给Bob,Bob才能完成解密

    在发送密钥过程中,可能会被Eve窃取密钥,最后Eve也能完成解密

    如下流程:

    消息发送及可能被窃取流程

    对于这种秘钥可能会被第三方窃取的情况,我们可以通过下述几种方案解决:

    事先共享密钥

    密钥分配中心

    Diffie-Hellman密钥交换

    公钥密码

    公钥密码

    秘钥分为加密秘钥和解密秘钥两个,两者不是同一个秘钥,也被称为非对称密码(Asymmetric Cryptography)。

    其中注意点:

    加密密钥,一般是公开的,因此该密钥称为公钥(public key)

    解密密钥,由消息接收者自己保管的,不能公开,因此也称为私钥(private key)

    公钥和私钥是一 一对应的,是不能单独生成的,一对公钥和密钥统称为密钥对(key pair)

    由公钥加密的密文,必须使用与该公钥对应的私钥才能解密

    由私钥加密的密文,必须使用与该私钥对应的公钥才能解密

    公钥密码使用流程

    公钥密码解决了秘钥的配送问题:

    由消息的接收者,生成一对公钥、私钥

    将公钥发给消息的发送者

    消息的发送者使用公钥加密消息

    RSA加密的由来:

    目前使用最广泛的公钥密码算法是RSA

    RSA的名字,由它的3位开发者,即Ron Rivest、Adi Shamir、Leonard Adleman的姓氏首字母组成。

    混合密码系统

    鉴于以上两种加密方式都各有优缺点:

    对称加密缺点:无法很好的解决秘钥配送的优缺点

    公钥密码缺点:加密与解密速度比较慢

    混合密码系统,是将对称密码和公钥密码的优势相结合的方法,解决了公钥密码速度慢的问题,并通过公钥密码解决了对称密码的密钥配送问题。网络上的密码通信所用的SSL/TLS都运用了混合密码系统。

    混合密码的加密:

    会话密钥(session key)

    为本次通信随机生成的临时密钥

    作为对称密码的密钥,用于加密消息,提高速度

    加密步骤(发送消息)

    首先,消息发送者要拥有消息接收者的公钥

    生成会话密钥,作为对称密码的密钥,加密消息

    用消息接收者的公钥,加密会话密钥

    将前2步生成的加密结果,一并发给消息接收者

    发送出去的内容包括

    用会话密钥加密的消息(加密方法:对称密码)

    用公钥加密的会话密钥(加密方法:公钥密码)

    混合密码加密流程

    解密步骤(收到消息)

    消息接收者用自己的私钥解密出会话密钥

    再用第1步解密出来的会话密钥,解密消息

    混合密码解密流程

    混合密码加解密流程小结:

    Alice >>>>> Bob

    发送过程,加密过程

    1.Bob先生成一对公钥、私钥

    2.Bob把公钥共享给Alice

    3.Alice随机生成一个会话密钥(临时密钥)

    4.Alice用会话密钥加密需要发送的消息(使用的是对称密码加密)

    5.Alice用Bob的公钥加密会话密钥(使用的是公钥密码加密,也就是非对称密码加密)

    6.Alice把第4、5步的加密结果,一并发送给Bob

    接收过程,解密过程

    1.Bob利用自己的私钥解密会话密钥(使用的是公钥密码解密,也就是非对称密码解密)

    2.Bob利用会话密钥解密发送过来的消息(使用的是对称密码解密)

    总的来说,AES加密发送者发送消息会将秘钥与秘钥加密过的明文一起发送给接受者,这种情况下无法保证秘钥传输过程中的安全配送问题;而RSA密码则是生成一对不同的公钥和私钥,是成对的。事先接受者先将公钥共享给发送方,然后发送方利用此公钥对明文内容进行加密,随后发送给接受方,接收方收到消息拿配对的私钥进行解密,得到明文,过程复杂,效率较低。

    而混合加密则采取两家之长,即解决了秘钥的安全配送问题,同时也提高了加密与解密效率。混合加密先是接收方将生成的公钥共享给发送方一份,发送方使用此公钥将生成的会话秘钥进行加密,同时发送方使用会话秘钥对明文内容进行加密,完成加密后,将两份加密过的内容一起发送给接收方,接收方接收到消息,先通过配对的私钥解密出会话秘钥,然后使用会话秘钥对密文进行解密,得到明文内容。到此一个完成混合加密流程就算是完成了。

    展开全文
  • 与非对称加密方法相比,加密解密的计算量小,速度快,适用于对海量数据进行加密 3.对称加密的缺点: 如果密码被人知道了,传递参数会被人破解 4.对称加密应用: 假设Alice和Bob是认识的,两人为了保证通信消息不被其它人...

    1.对称加密:

    1.什么是对称加密:
    加密和解密都是同一个密钥,在加解密过程中,使用同一个密钥进行加密解密

    2.对称加密的优点:
    用户只需要记忆一个密钥,就可用于加密,解密;
    与非对称加密方法相比,加密解密的计算量小,速度快,适用于对海量数据进行加密

    3.对称加密的缺点:
    如果密码被人知道了,传递参数会被人破解

    4.对称加密应用:
    假设Alice和Bob是认识的,两人为了保证通信消息不被其它人截取,预先约定了一个密码,用来加密在他们之间传送的消息,这样即使有人截取了消息没有密码也无法知道消息的内容。由此便实现了机密性。
    应用于,服务器与服务器之前的应用(后台对后台的)
    在这里插入图片描述
    常用的对称加密:DES

    2.非对称加密:

    1.什么是非对称加密:
    使用一对密钥:一个用于加密信息,另一个则用于解密信息。
    两个密钥之间存在着相互依存关系:即用其中任一个密钥加密的信息只能用另一个密钥进行解密。
    在这里插入图片描述
    2.使用过程:
    1).乙方生成两把密钥(公钥和私钥)
    2).甲方获取乙方的公钥,然后用它对信息加密。
    3).乙方得到加密后的信息,用私钥解密,乙方也可用私钥加密字符串,甲方获取乙方私钥加密数据,用公钥解密

    3.优缺点:
    优点:难破解
    缺点: 加密速度慢

    4.常用算法:RSA

    3.实例 用户登录流程:

    在这里插入图片描述
    1.点击发送手机验证码,通过填写的账号,到后台查询该用户的手机,并且向该手机发送验证码(该过程也可直接填写手机,发送手机验证码)
    2.登录时,优先调用获取RSA公钥接口,若系统保存有密钥对,直接返回公钥给页面,若系统未保存有密钥对,生成密钥对,保存至内存,返回公钥给页面
    3.将账号与密码通过RSA公钥加密,以及短信传输给服务器,服务器通过私钥将账号和密码解密为明文
    4.检验短信验证码是否有效,有效进行下一步,无效提示验证码有误
    5.根据账号id查询该用户状态是否正常,状态正常进行密码比对
    6.保存在数据库的密码格式: 密码+盐 再MD5 (采用单向加密,不可被逆向,不可被解密)
    7.将传过来的RSA解密的密码+盐 再MD5 与数据库内保存的密码进行比对,密码如果错误,记录密码错误次数,当密码错误次数,超过5次(次数按需求规定),更改该用户的状态,为冻结状态
    8.密码正确,获取用户信息,创建session信息,设置有效期
    9.登录成功返回用户信息,token信息
    (其中session的key的设计要求: key=账号id+渠道号<用于区分手机端,PC端>, 之所以这么设计,是因为系统分为了手机端还有PC端,如果同一个设备登录同一个账号,另一个账号会被踢出,这样设计的好处就是可以实现同一个账号在PC端,手机端可以同时登录)

    4.实例 用户校验token过程:

    在这里插入图片描述
    1.服务器拦截页面请求,判断请求的url是否需要登录才能访问,不用的话直接放行
    (用一个容器,记录哪一些接口是需要登录才能访问的,判断当前访问服务器的url是否存在于该容器中)
    2.确认是需要登录才能访问的接口后,校验其session
    3.根据key的组成形式,去缓存查询是否存在该key,如果不存在,表示登录过期(因为登录后生成的session是存在有效期的,有效期一过,删除缓存中对应的key,value值)
    4.如果该key存在,对比传过来的token和缓存中的value值是否一致,如果一致更新session的有效期并放行,如果不一致,说明账号已在别处登录(因为重新登录会重新生成一个key value,而这个key是一致的)

    展开全文
  • 昨天接到上海一家的面试电话,问了我https协议的工作流程,我模糊的记得公钥加密与私钥解密,其实还有协议协商,非对称加密与对称加密这些要点,今天就打算,实现一下这些加密的过程。 Https协议的工作流程 1、协议...
  • 非对称加密

    2019-06-23 22:01:50
    非对称加密 对称加密存在问题 ...对称加密与非对称加密对比 对称加密 秘钥数量:1 效率:高,适合大文件加解密 非对称加密 秘钥数量:2 公钥:public key,任何人都可以持有。公共 私钥:...
  • 加密——RSA前端与后台的加密与解密什么是RSA加密RSA加密算法是一种非对称加密算法,所谓非对称,就是指该算法需要一对密钥,使用其中一个加密,则需要肜另一个才能解密,利用对极大整数做因数分解难度决定了RSA...
  • 非对称加密与OpenSSL

    2016-10-29 21:41:00
    随着个人隐私越来越受重视, HTTPS也渐渐流行起来, 甚至有许多网站都... 因此本文从非对称加密说起, 介绍了证书签证流程, 并且通过openssl命令行工具对这些过程都转化为相对具体命令, 也算是一个温故知新简...
  • 2.3 非对称加密通信流程 2.4 非对称加密与对称加密 3.非对称加密RSA算法 3.1 RSA算法 3.2 RSA原理 3.3 RSA生成密钥对流程 3.3.1 RSA生成私钥 3.3.2 RSA生成公钥 3.4 RSA生成密钥对模板 3.5 使用RSA密钥...
  • 对称加密算法不同,非对称加密算法需要两个密钥:公钥(publickey)和私钥(privatekey)。公钥私钥是一对,如果用公钥对数据进行加密...非对称加密本身并不难理解,结合图6-14对非对称加密的流程做简要的分析。 
  • JwtRSA非对称加密

    千次阅读 2019-06-05 21:33:46
    1.2 什么是无状态1.3 如何实现无状态1.4 JWT1.4.1 简介1.4.2 数据格式1.4.3 JWT交互流程1.4.4 非对称加密1.5 结合Zuul鉴权流程1.5.1 没有RSA加密时1.5.2 结合RSA鉴权 1. 无状态登录原理 在分布式系统当中,传统...
  • 这里写自定义目录标题欢迎使用Markdown编辑器新改变功能快捷键合理创建标题,有助于目录生成如何改变文本样式插入链接图片如何插入一段漂亮的...,丰富你文章UML 图表FLowchart流程图导出导入导出导入...
  • 计算机网络:HTTPS与非对称加密计算机网络:HTTPS与非对称加密HTTPS在协议中的体现HTTPS的流程获取证书证书验证单向验证风险 承接上一篇非常不负责任的浅谈了HTTP协议和其底层的其他协议后,这一篇接着不负责任的来...
  • 一、HTTPS和HTTP区别 ...SSL全称是Secure Sockets Layer,即安全套接层协议,是为网络通信提供安全及数据完整性一种安全协议。...二、HTTPS连接建立流程 HTTPS为了兼顾安全效率,同时使...
  • 数字签名 数字签名是笔迹签名模拟,用于保证信息传输完整性、发送者身份认证,以及防止交易中抵赖行为等。 公钥签名体制基本思路是: ...AB之间要进行加密通信,非对称加密流程是: ...
  • 文章目录1 有状态登录2 无状态登陆3 如何实现无状态4 JWT4.1 数据格式4.2 JWT交互流程5 RSA加密5.1 加密技术5.1没有RSA加密时5.2 结合RSA鉴权 目前我们创建了若干个微服务,假如我们在用户中心做了登陆,接下来要...
  • 加密与解密 -----GPG对称加密的过程

    千次阅读 2018-05-15 19:48:33
    明文加密目的及式确保数据机密性--对称/解密用同一个密钥-非对称加密:加密/解密用不同密钥(公钥,私钥)保护信息完整性-信息摘要:基于输入信息生成长度较短,位数固定散列值。常见加密算法对称加密-...
  • 区块链 - 非对称加密

    2019-10-30 11:15:52
    区块链 – 非对称加密 区块链 – 哈希(Hash) 区块链 – 挖矿 区块链 – 链接区块 区块链 – 工作量证明 区块链 – 交易流程与挖矿 区块链 – 矿工激励 区块链 – 默克尔树(Merkle Tree) 区块链 – 付款确认 区块链...
  • 对称加密中,加密与解密使用密钥是相同,因此必须向接收者配送密钥。用于解密密钥必须配送给接收者,由此产生了密钥配送问题。 密钥配送问题:对一份文件进行加密后发送给接收方,接收方需要查看文件就要...
  • AES对称加密

    2021-02-07 13:42:08
    密钥为接收方发送方协商产生,但不可以直接在网络上传输,否则会导致密钥泄漏,通常是通过非对称加密算法加密密钥,然后再通过网络传输给对方,或者直接面对面商量密钥。密钥是绝对不可以泄漏,否则会
  • LTE 安全功能 1 目 录 2 3 1 概述 本文档对 LTE 安全技术进行总结描述了安全相关协议重点包括安全流程梳理 1.1 参考文献 [1] 3GPP TS 33.401"3GPP System Architecture Evolution (SAE; Security architecture...
  • 前言AES,高级加密标准(Advanced Encryption Standard)。是用来替代 DES,目前比较流行对称加密算法...密钥为接收方发送方协商产生,但不可以直接在网络上传输,否则会导致密钥泄漏,通常是通过非对称加密算法加...
  • AES对称加密算法

    2019-04-17 21:41:57
    AES:高级加密标准(AES,Advanced Encryption Standard)为最常见对称加密算法(微信小程序加密...密钥为接收方发送方协商产生,但不可以直接在网络上传输,否则会导致密钥泄漏,通常是通过非对称加密算法加密密钥...
  • RSA非对称加密实现

    2020-03-03 14:42:42
    RSA算法实现流程 第一步 随机选取两个不同素数p,q 将p和q相乘得n 第二步 计算N=(p-1)(q-1) 选取一个e满足eN互为质数 且1<e<N 第三步 求d满足 ed=1modN mod为求余数公式 等价于ed-1=kN k为正整数 由辗转...
  • 文章目录一、用户认证分析1.1 认证授权身份认证用户授权1.2 单点登录1.3 第三方登录二、认证技术方案了解(单点登录+第三方授权认证)2.1单点登录技术方案2.2 Oauth2认证三、SpringSecurity Oauth2.0入门导入依赖...
  • 1.1 对称密码体制特征 对称密码体制基本特征是加密密钥解密密钥相同。 1.2 对称密码体制工作流程对称加密算法中,数据发信方将明文(原始数据)和加密密钥...在对称加密算法中,使用密钥只有一个,发收...
  • RSA加密与解密的流程与方法

    千次阅读 2017-12-07 11:50:15
    加密——RSA前端与后台的加密与解密什么是RSA加密RSA加密算法是一种非对称加密算法,所谓非对称,就是指该算法需要一对密钥,使用其中一个加密,则需要肜另一个才能解密,利用对极大整数做因数分解难度决定了RSA...
  • 前言AES,高级加密标准(Advanced Encryption Standard)。是用来替代 DES,目前比较流行对称加密算法...密钥为接收方发送方协商产生,但不可以直接在网络上传输,否则会导致密钥泄漏,通常是通过非对称加密算法...

空空如也

空空如也

1 2 3 4 5 ... 13
收藏数 253
精华内容 101
关键字:

对称加密与非对称加密的流程