计算机中什么是解密算法?

2个月前 (11-30 06:30)阅读2回复0
wojiukan
wojiukan
  • 管理员
  • 注册排名1
  • 经验值1776475
  • 级别管理员
  • 主题355295
  • 回复0
楼主

什么是计算机上的解密算法?

1. Base64位加密(可加密的解密)

没有密钥的最简单的加密方式,这个方式别人拿到你的密文就能马上解密,只能用来迷惑,一般情况下不另外使用真的是不知情的~可以和其他加密方式混合在一起,作为一层外包装使用。

计算机中什么是解密算法?

进口基地64

数据="abc"

#加密

M = Base64.encodestring(数据)

Printm #获取base64的值。

#解密

日期= Base64.decodestring(m)

2. MD5加密(不可逆加密)

MD5的全称是Message-DigestAlgorithm 5(Message-DigestAlgorithm 5),长度为128位,目前MD5是一种不可逆的算法,具有很高的安全性。它可以用唯一的固定长度代码来对应字符串进行加密。(提示:为什么MD5加密算法是不可逆转的--如果有加密方法,就会有解密方法?由于MD5加密是一种丢失的加密方案,就像数据是'123'一样,所以在加密时,我们认为1和3都是a,如果加密的话,它就会变成'a2 a'。因此,在解密过程中,有四个组合"323""121""123""321"。如果你有很多数据,你当然找不到原始数据。当然,加密的密文不需要解密。如果需要的话,最好直接发送原始密文~只是密文本来的内容看不到)

ImportHashlib

进口基地64

Data1 ="abc"

Data2 ='def'

哈希= hashlib.md5()

#多个文件加密多次

Hash.update(data1)

Hash.update(data2)

Value = hash.digest()

Printrepr(value)#获取二进制字符串。

Printhash.hexdigest()#获取十六进制字符串

获取Printbase64.encodestring(value)#base64的值。

3.sha1加密(不可逆加密)

SHA1的全称是安全哈希算法。SHA1基于MD5,加密数据的长度更长。它为长度小于264的输入生成160位的哈希值。它比MD5多32位。因此,虽然SHA1比MD5安全得多,但它的计算速度比MD5慢。使用方法和MD5实际上是一样的~

ImportHashlib

#一次加密单个文件

Value = hashlib.sha1('这是一个sha1测试! '). hexdigest()

打印值#获取十六进制字符串。

4. AES加密(需要密钥进行解密)

AES加密是对称密钥加密,其中加密和解密都使用相同的解密规则。AES密钥和加密块必须在矩阵中多次重复、位移和组合,这就要求加密快速字节和密钥中的字节数在一定程度上。AES密钥长度的最小支持为128、192、256,加密块分组长度为128位。这种加密模式有一个最大的弱点:甲方必须将加密规则告知乙方,否则无法解密。存储和传递密钥是最棘手的问题。

从密码学。CipherImportAES

#键必须是16,24,32位

关键字='1234567890123456'

数据="ABC"

BS = 16

#加密函数,如果文本小于16位,则用16位补充。

Pad = lambda:s+(BS-len(s)%BS)* chr(BS-len(s)%BS)

#加密

密码AES.new

Encrypted = cipher.encrypt(pad(m))

#解密

密码AES.new

Encrypted = cipher.decrypt(pad(m))

5. RSA加密(公钥加密、私钥解密)

它是目前最重要的加密算法!这是计算机通信安全的基石,确保加密数据不被黑客入侵。你可以想象信用卡交易被黑客入侵的结果。甲乙双方通信,乙方生成公钥和私钥,甲方获取公钥,加密信息;(公钥是公开的,任何人都可以获得),甲方用公钥加密信息,这时加密的信息只能破解私钥,只要私钥不泄露,就能保证信息的安全性。

进口rsa

//先生创建一对密钥以保存.pem格式的文件,当然也可以自己使用

(pubkey,privkey)= rsa.newkeys(1024)

Pub pubkey.save

Pubfile = open('public.pem','w +')

Pubfile.write(pub)

Pubfile.close()

Pri privkey.save

Prifile = open('private.pem','w +')

Prifile.write(prri)

Prifile.close()

//load公钥和密钥

消息="你好"

使用open('public.pem')作为publickfile:

P publickfile.read

Pubkey = rsa.PublicKey.load_pkcs1 §

使用open('private.pem')作为隐私:

P privatefile.read

Privkey = rsa.PrivateKey.load_pkcs1 §

//公钥加密,使用私钥解密

密码= rsa.encrypt(消息,pubkey)

消息= rsa.decrypt(crypto,privkey)

打印消息

//sign用私钥签名认真,用公钥验证签名

签名= rsa.sign(消息,私钥,'SHA-1')

Rsa.verify('hello',签名,pubkey)

0
回帖

计算机中什么是解密算法? 期待您的回复!

取消
载入表情清单……
载入颜色清单……
插入网络图片

取消确定

图片上传中
编辑器信息
提示信息