数据加密

释放双眼,带上耳机,听听看~!

一、对称加密算法

加密过程:

使用相同秘钥,将明文分成N个组,然后对各个组进行加密,形成各自的密文,最后把所有的分组密文进行合并,形成最终的密文。

优点:

算法公开、计算量小、加密速度快、加密效率高

缺点:

交易双方都使用同样钥匙,安全性得不到保证

常见算法:

MD5、AES、DES

二、对称加密算法

加密过程:

非对称算法有一个公钥和一个私钥,公钥与私钥是一对的。

乙方生成两把密钥(公钥和私钥)甲方获取乙方的公钥,然后用它对信息加密。乙方得到加密后的信息,用私钥解密,乙方也可用私钥加密字符串,甲方获取乙方私钥加密数据,用公钥解密

优点:

更安全,密钥越长,它就越难破解

缺点:

加密速度慢

常见算法:

RSA

RSA具体流程:

数据加密

1.甲方构建密钥对儿,将公钥公布给乙方,将私钥保留。
2.甲方使用私钥加密数据,然后用私钥对加密后的数据签名,发送给乙方签名以及加密后的数据;乙方使用公钥、签名来验证待解密数据是否有效,如果有效使用公钥对数据解密。
3.乙方使用公钥加密数据,向甲方发送经过加密后的数据;甲方获得加密数据,通过私钥解密。

一般公司这样做的。
甲乙公司各有自己的一套公钥私钥。
甲用乙公布的公钥加密,信息传递到乙,乙用自己的私钥解密。 — 这一套是乙方的公私钥。
乙用甲公布的公钥加密,信息传递到甲,甲用自己的私钥解密。 — 这一套是甲方的公私钥。
注:公钥长度远远小于私钥,公钥长度比较短,便于公钥保存。

三、使用的类和相关的参数

KeyPairGenerator:密钥对生成器
KeyPair:密钥对
PublixKey:公钥
PrivateKey :私钥
KeyFactory:作用是生成密钥(包括公钥和私钥)

generatePublic()方法用来生成公钥 
generatePrivate()方法用来生成私钥

X509EncodedKeySpec:继承EncodedKeySpec类 ,以编码格式来表示公钥
PKCS8EncodedKeySpec:继承EncodedKeySpec类,以编码格式来表示私钥
DHPublicKey:是PublicKey的某种具体的形式 
DHParameterSpec:随从着DH算法来使用的参数的集合 
KeyAgreement:该类提供密钥一致性(或者密钥交换)协议的功能
SecretKey:构建的本地秘钥
Cipher:提供加解密的功能

给TA打赏
共{{data.count}}人
人已打赏
安全技术安全运维

Windows服务器如何发现被黑

2018-5-20 12:24:31

安全技术

详解Node.js API系列 Crypto加密模块

2021-12-21 16:36:11

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索