三種常見加密算法MD五、對稱加密,非對稱加密

1、MD5加密html

MD5加密的特色:前端

不可逆運算python

對不一樣的數據加密的結果是定長的32位字符(無論文件多大都同樣)算法

對相同的數據加密,獲得的結果是同樣的(也就是複製)後端

抗修改性 : 信息「指紋」,對原數據進行任何改動,哪怕只修改一個字節,所獲得的 安全

MD5 值都有很大區別.服務器

弱抗碰撞 : 已知原數據和其 MD5 值,想找到一個具備相同 MD5 值的數據(即僞造ide

數據)是很是困難的網站

強抗碰撞: 想找到兩個不一樣數據,使他們具備相同的 MD5 值,是很是困難的加密

#coding=utf-8
"""
===========================
Author:多測師_王sir
Time:2020-07-06 15:54
Wechat:15367499889
Company:上海多測師信息有限公司
===========================
"""
import hashlib

def duoceshi_cn():
    '''對多測師網站www.duoceshi.cn進行加密'''
    data = 'www.duoceshi.cn'
    md5 = hashlib.md5()   #生成md5加密對象
    md5.update(data.encode('utf-8'))
    sign = md5.hexdigest()
    print('對多測師網站www.duoceshi.cn進行加密獲得的密文爲:{}'.format(sign))

def duoceshi_com():
    '''對多測師網站www.duoceshi.com進行加密'''
    data = 'www.duoceshi.com'
    md5 = hashlib.md5()   #生成md5加密對象
    md5.update(data.encode('utf-8'))
    sign = md5.hexdigest()
    print('對多測師網站www.duoceshi.com進行加密獲得的密文爲:{}'.format(sign))

if __name__ == '__main__':
    duoceshi_cn()
    duoceshi_com()

運行結果以下:
對多測師網站www.duoceshi.cn進行加密獲得的密文爲:6288f286d86886810215373b0916e47e
對多測師網站www.duoceshi.com進行加密獲得的密文爲:78c97debe231347bb7f7447c6ad8d1fa
2、對稱加密
簡介: 
對稱加密算法又稱傳統加密算法。 
加密和解密使用同一個密鑰。
加密解密過程:明文->密鑰加密->密文,密文->密鑰解密->明文

示例: 
密鑰:www.duoceshi.cn
加密算法:每一個字符+www.duoceshi.cn
明文:dcs
密鑰爲 1時加密結果:abmmx 
密鑰爲 2時加密結果:dwddx

優缺點: 
算法公開,計算量小,加密速度快,加密效率高 
雙方使用相同的鑰匙,安全性得不到保證


經典加密算法有三種: 
1. DES(Data Encryption Standard):數據加密標準(如今用的比較少,由於它的加密強度不夠,可以暴力破解) 
2. 3DES:原理和DES幾乎是同樣的,只是使用3個密鑰,對相同的數據執行三次加密,加強加密強度。(缺點:要維護3個密鑰,大大增長了維護成本) 
3. AES(Advanced Encryption Standard):高級加密標準,目前美國國家安全局使用的,蘋果的鑰匙串訪問採用的就AES加密。是如今公認的最安全的加密方式,是對稱密鑰加密中最流行的算法。
3、非對稱加密RSA
簡介: 
1. 對稱加密算法又稱現代加密算法。 
2. 非對稱加密是計算機通訊安全的基石,保證了加密數據不會被破解。 
3. 非對稱加密算法須要兩個密鑰:公開密鑰(publickey) 和私有密(privatekey) 
4. 公開密鑰和私有密鑰是一對

特色:
加密的公鑰和私鑰不一樣、都是後端服務器生成給到前端的
若是用公開密鑰對數據進行加密,只有用對應的私有密鑰才能解密。 
若是用私有密鑰對數據進行加密,只有用對應的公開密鑰才能解密。
算法強度複雜,安全性依賴於算法與密鑰。 
加密解密速度慢。

與對稱加密算法的對比: 
對稱加密只有一種密鑰,而且是非公開的,若是要解密就得讓對方知道密鑰。 
非對稱加密有兩種密鑰,其中一個是公開的。

RSA應用場景: 
因爲RSA算法的加密解密速度要比對稱算法速度慢不少,在實際應用中,一般採起 
數據自己的加密和解密使用對稱加密算法(AES)。 
用RSA算法加密並傳輸對稱算法所需的密鑰。

原文連接:https://www.cnblogs.com/xiaoshubass/p/13255286.html

相關文章
相關標籤/搜索