91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

資源簡介

最近打算使用 python3 寫一個圖形化的聊天室,需要涉及到 RSA 加密模塊,使用的是 python 自帶的 RSA 加密模塊。主要功能: 1. 作為聊天室服務器登錄 2. 作為聊天室客戶端登錄 3. 客戶端鏈接服務器IP 4. 客戶端1與服務器進行驗證 5. 客戶端2與服務器進行驗證 6. 客戶端1加密消息并發送 7. 服務器解密消息并轉發到客戶端2 8. 客戶端2發送消息同客戶端1

資源截圖

代碼片段和文件信息

#!/usr/bin/env?python3

#?導入cryptography庫的相關模塊和函數
from?cryptography.hazmat.backends?import?default_backend
from?cryptography.hazmat.primitives?import?serialization

from?cryptography.hazmat.primitives.asymmetric?import?padding

#?定義輔助函數,用于打印16進制數據
def?dump_hex(buffer?sep=‘?‘?indent=0?line_size=16):
????“““
????輔助函數,將bytes數組以如下格式打印輸出:
????0000:?40?71?37?d0?80?32?7f?04?d9?6d?fb?fc?f7?6a?7d?d4
????0010:?48?ad?75?79?7a?0d?6c?55?01?ed?45?d5?1e?75?33?a6
????:param?buffer:?待打印數據
????:param?sep:?各16進制數據之間的分隔符,默認用空格‘?‘分隔
????:param?indent:?打印輸出前是否需要縮進,默認不縮進
????:param?line_size:?每行輸出16進制的數量,默認1行輸出16個
????:return:?無返回值
????“““
????#?計算縮進空格數
????leading?=?‘%s‘?%?‘?‘*indent
????#?循環打印每行16進制數據
????for?x?in?range(0?len(buffer)?line_size):
????????#?打印縮進字符和當前行數據的起始地址
????????print(‘%s%04X:?‘?%?(leading?x)?end=‘‘)
????????#?將當前行數據制作成列表list,并打印
????????line?=?[‘%02x‘?%?i?for?i?in?buffer[x:x+line_size]]
????????print(*line?sep=sep?end=‘\n‘)


#?加密函數
def?encrypt(src_file_name?dst_file_name?public_key_file_name):
????“““
????對原始數據文件使用指定的公鑰進行加密,并將加密輸出到目標文件中
????:param?src_file_name:?原始數據文件
????:param?dst_file_name:?加密輸出文件
????:param?public_key_file_name:?用于加密的公鑰
????:return:?加密結果的bytes數組
????“““
????#?讀取原始數據
????data_file?=?open(src_file_name?‘rb‘)
????data?=?data_file.read()
????data_file.close()

????#?讀取公鑰數據
????key_file?=?open(public_key_file_name?‘rb‘)
????key_data?=?key_file.read()
????key_file.close()

????#?從公鑰數據中加載公鑰?
????public_key?=?serialization.load_pem_public_key(
????????key_data
????????backend=default_backend()
????????)

????#?使用公鑰對原始數據進行加密,使用PKCS#1?v1.5的填充方式
????out_data?=?public_key.encrypt(
????????data
????????padding.PKCS1v15()
????)

????#?將加密結果輸出到目標文件中
????#?write?encrypted?data
????out_data_file?=?open(dst_file_name?‘wb‘)
????out_data_file.write(out_data)
????out_data_file.close()

????#?返回加密結果
????return?out_data


#?解密函數
def?decrypt(src_file_name?dst_file_name?private_key_file_name):
????“““
????對原始數據文件使用指定的私鑰進行解密,并將結果輸出到目標文件中
????:param?src_file_name:?原始數據文件
????:param?dst_file_name:?解密輸出文件
????:param?private_key_file_name:?用于解密的私鑰
????:return:?解密結果的bytes數組
????“““
????#?讀取原始數據
????data_file?=?open(src_file_name?‘rb‘)
????data?=?data_file.read()
????data_file.close()

????#?讀取私鑰數據
????key_file?=?open(private_key_file_name?‘rb‘)
????key_data?=?key_file.read()
????key_file.close()

????#?從私鑰數據中加載私鑰
????private_key?=?serialization.load_pem_private_key(
????????key_data
????????password=None
????????backend=default_backend()
????)

????#?使用私鑰對數據進行解密,使用PKCS#1?v1.5的填充方式
????out_data?=?private_key.decrypt(
????????data
????????padding.PKCS1v15()
????)

????#?將解密結果輸出到目標文件中
????out_data_file?=?open(dst_file_name?‘wb‘)
????out_data_file.write(out_data)
????out_data_file.close()

????#?返回解密結果
????return?out_data

if?__name__?==?“__main__“:
????#data_file_name?=?r‘msg.bin‘
????data_file_name?=?r‘msg.txt‘
????encrypted_file_name?=?r‘msg.bin.encrypted‘
????decrypted_file_name?=?r‘msg.bin.decrypted‘

????private_key_file_name?=?r

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件??????67646??2018-03-11?20:04??python3?+?wxpython?實現RSA加密聊天室\ico.ico

?????文件???????4239??2018-05-16?09:55??python3?+?wxpython?實現RSA加密聊天室\rsa-enc-dec.py

?????文件?????160756??2018-05-16?14:07??python3?+?wxpython?實現RSA加密聊天室\抓包.pcapng

?????文件??????10547??2018-05-16?12:59??python3?+?wxpython?實現RSA加密聊天室\聊天室-Python27.py

?????文件??????11918??2018-05-16?12:52??python3?+?wxpython?實現RSA加密聊天室\聊天室-Python36.py

?????文件???13778675??2018-05-16?14:12??python3?+?wxpython?實現RSA加密聊天室\聊天室工具?x86_x64.exe

?????文件??????17122??2018-08-02?17:35??python3?+?wxpython?實現RSA加密聊天室\聊天室工具.py

?????目錄??????????0??2018-08-02?17:36??python3?+?wxpython?實現RSA加密聊天室

-----------?---------??----------?-----??----

?????????????14050903????????????????????8


評論

共有 條評論