加密解密英文
⑴ 12:字元串加密、解密
編碼: 將計算機中的字元串按照一定的順序表示成二進制數據的過程
各國字元編碼都不一樣:
1、計算機-> 表示[英文字母、數字、部分特殊符號]-> ascii編碼 [0~256]
2、萬國碼,統一字元編碼[號稱可以統一全球范圍內任何語言的表示方式]
任何語言中的任何數據,都可以使用一個字元來表示 unicode編碼
3、中國有GB2312-> GBK -> GB18030
4、數據傳輸編碼:unicode transfer format 8 bit [UTF-8]
python中的編碼解碼:
要命的規則:字元串的編碼解碼,一直都是任何語言中一個難點和重點
任何字元串->都是由位元組組成的!
python3中:字元:(str);位元組(bytes)
字元->位元組:encode 編碼:將一個字元串編碼成計算機可以操作的二進制數據
位元組->字元:decode 解碼:將一個二進制數據按照指定的編碼~解碼成自然數據
什麼是加密: 將一個明文數據,按照指定的演算法,運算得到一個其他的可以隱藏真實信息的密文數據,這個過程稱為加密;處理的演算法稱為加密演算法;用到的關鍵數據稱為密鑰
什麼是解密: 按照指定的演算法和關鍵數據,將一個密文數據進行逆向運算得到正確的明文數據的過程成為解密操作
(1)、單向加密演算法:只能加密,不能解密的演算法
如:用戶賬號密碼(單向加密)存儲,此時任何人都不能查看該用戶的明文密碼
流程->用戶輸入明文密碼->加密->和存儲的密文密碼進行比較->相等-成功
單向散列加密演算法-> MD5加密
單項哈希加密演算法-> SHAX加密
(2)、雙向加密演算法:可以加密,加密的數據可以解密得到明文數據
使用在更多的場景;數據進行加密傳輸->目標地址->解密得到明文數據進行處理
對稱加密:加密和解密使用相同的秘鑰;
非對稱加密:加密和解密使用不同的秘鑰;如HTTPS傳輸數據
hashlib主要提供字元加密功能,將md5和sha模塊整合到了一起,支持md5,sha1, sha224, sha256, sha384, sha512等演算法
注意: hashlib 加密啊的字元串類型為二進制編碼,直接加密字元串會報如下錯誤:
有兩種方式可以將字元串轉化為二進制數據
⑵ 凱撒密碼實現英文短句的加解密
1. 將「We are students.」這個英文詞句用k=4的凱薩密碼翻譯成密碼
1. 愷撒密碼,
作為一種最為古老的對稱加密體制,他的基本思想是:
通過把字母移動一定的位數來實現加密和解密。
例如,如果密匙是把明文字母的位數向後移動三位,那麼明文字母B就變成了密文的E,依次類推,X將變成A,Y變成B,Z變成C,由此可見,位數就是凱撒密碼加密和解密的密鑰。
如:ZHDUHVWXGHQWV(後移三位)
2. 凱撒密碼,
是計算機C語言編程實現加密和解密。挺復雜的。你可以研究一下哦。
2. 將凱撒密碼(K=7)的加密、解密過程用C語言編程實現
/*
聲明:MSVC++6.0環境測試通過
*/
#include<stdio.h>
#include<ctype.h>
#define maxlen 100
#define K 7
char *KaisaEncode(char *str)//加密
{
char *d0;
d0=str;
for(;*str!='