# with open("","") as f:
# data=f.read()
# 將二進位制檔案分開分為幾個二進位制檔案進行儲存
# 使用某規則將其改造成誰也打不開
# 使用規則是必須集齊所有碎片才能知道拼接順序 ,
# 將碎片的sha256中的所有數字提取出來計算抑或之後 取所有字元位置 作為 順序編碼按照正常順序拼接 與所有數字進行
# 按位計算得到 秘鑰。
import hashlib
import random
import base64
defget_sha256
(b_f)
: s = hashlib.sha256(
)# get the hash algorithm.
s.update(b_f)
# hash the data.
b = s.hexdigest(
)# get he hash value.
return b
defget_sha256_str_int_and_str_index
(b):
str_data=
"" int_data=
"" str_index=
""for i,one_b in
enumerate
(b):
if one_b in
"0987654321"
: int_data+=one_b
else
: str_index+=
str(i)
str_data+=one_b
# 0開頭問題
return str_data,str_index,int_data
defencode_file
(file_name)
:with
open
(file_name,
"rb"
)as f:
data=f.read(
) data=base64.b64encode(data)
# 隨機是要有規則的 至少要長度控制 至少要16個位元組以上檔案或者是文字 至少要拆8段以上 每段之間要大於2個位元組
# 切幾段
pics=random.randrange(8,
15)data_len=
len(data)
pics_list=random.choices(
[i for i in
range(0
,data_len-1,
2)],k=pics)
# 在長度範圍內部隨機生成10個
sorted_list=
sorted
(pics_list)
pics_data_list=
first_index=
0for i in
range
(len
(sorted_list)-1
):pic_next=data[first_index:sorted_list[i]
]# 切點必須是\x
("# 二進位制加密解密成功,data 可使用"
)except exception as e:
print
("# 每次切的不一樣所以加密碼不一樣若有相似或者重複就會失敗"
)
加密演算法的理解
一 分類 對稱與非對稱。1 對稱 加密速率快 演算法比較簡單,保密性相對較差。常見有des 3des aes des的提公升 2 非對稱 加密速率慢 保密性高。常見有rsa 二 應用 1 對稱 用於加解密資料量大,或併發量大的通訊中 2 非對稱 1 用於加解密資料量小的通訊中 2 公鑰和私鑰一般存放...
常用的加密演算法
一。摘要演算法 1 md5演算法 message digest algorithm 5 可以保證資料傳輸完整性和一致性 摘要後長度為16位元組 摘要資訊中不包含原文資訊 所有加密結果不可逆 無法解密 一般在傳送檔案時 對原始檔進行md5 hash 傳送到對方後 檢測hash值是否相等 如果相等檔案傳...
加密演算法的分類
加密演算法分為 一 可逆加密,二 不可逆加密。一 可逆加密 可逆加密又分為 1.對稱加密 2.非對稱加密 1.對稱加密 加密和解密共用乙個金鑰。常用的演算法有des 3des aes。2.非對稱加密 非對稱加密有一對金鑰稱為公鑰和金鑰,公鑰加密金鑰解密或金鑰加密公鑰解密 繞口令。加密過程就是請求方第...