Python SHA1加密詳解

一、Python SHA1加密

1、Python SHA1加密演算法是什麼?

SHA1全稱為Secure Hash Algorithm 1,是一種Hash演算法,該演算法將數據轉換為散列值,並輸出一個長度為160位的散列值字元串,用於保證數據的完整性和安全性。在Python中,我們可以使用hashlib庫中的sha1()方法進行SHA1加密。

import hashlib

def sha1_encrypt(content):
    sha1_obj = hashlib.sha1()
    sha1_obj.update(content.encode('utf-8'))
    return sha1_obj.hexdigest()

2、如何使用Python SHA1加密?

在使用Python SHA1加密時,我們需要首先引入hashlib模塊,然後使用sha1()方法進行加密。將待加密的字元串通過update()方法更新到sha1對象中,最後調用hexdigest()方法獲取加密後的字元串。

二、Python SHA1加密解密代碼

1、Python SHA1加密代碼示例:

import hashlib

def sha1_encrypt(content):
    sha1_obj = hashlib.sha1()
    sha1_obj.update(content.encode('utf-8'))
    return sha1_obj.hexdigest()

if __name__ == '__main__':
    content = 'Hello, world!'
    print(sha1_encrypt(content))

2、Python SHA1解密代碼示例:

由於SHA1演算法是單向加密演算法,不可逆,因此無法進行解密。

三、Python加密的庫

1、Python自帶的加密庫:

Python內置的hashlib庫提供了多個Hash演算法,包括MD5、SHA1、SHA224、SHA256、SHA384和SHA512等。除此之外,Python還提供了hmac模塊可用於加密的密鑰生成。

2、第三方Python加密庫:

在Python中,還有一些第三方庫可用於加密,例如pycrypto、pycryptodome、cryptography等。

四、Python加密U盤

1、Python加密U盤庫:

加密U盤是數據安全保護的重要手段,在Python中,我們可以使用pycryptodome庫進行U盤的加密。該庫提供了許多加密演算法,例如AES、DES、RSA等,可根據需求選擇合適的演算法進行加密。

2、Python加密U盤代碼示例:

from Crypto.Cipher import AES
import os

BLOCK_SIZE = 16
PADDING = '*'

def pad(s):
    return s + (BLOCK_SIZE - len(s) % BLOCK_SIZE) * PADDING

def encrypt(key, iv, in_filename, out_filename):
    chunksize = 64 * 1024
    filesize = os.path.getsize(in_filename)
    with open(in_filename, 'rb') as infile:
        with open(out_filename, 'wb') as outfile:
            outfile.write('{0:0=16d}'.format(filesize).encode())
            outfile.write(iv)
            aes_obj = AES.new(key, AES.MODE_CBC, iv)
            while True:
                chunk = infile.read(chunksize)
                if len(chunk) == 0:
                    break
                elif len(chunk) % BLOCK_SIZE != 0:
                    chunk = pad(chunk)
                outfile.write(aes_obj.encrypt(chunk))

def decrypt(key, iv, in_filename, out_filename):
    chunksize = 64 * 1024
    with open(in_filename, 'rb') as infile:
        with open(out_filename, 'wb') as outfile:
            filesize = int(infile.read(16).decode())
            infile.seek(BLOCK_SIZE)
            aes_obj = AES.new(key, AES.MODE_CBC, iv)
            while True:
                chunk = infile.read(chunksize)
                if len(chunk) == 0:
                    break
                outfile.write(aes_obj.decrypt(chunk))
            outfile.truncate(filesize)

if __name__ == '__main__':
    key = '1234567890123456'
    iv = '1234567890123456'
    in_filename = 'test.txt'
    out_filename = 'test.en'
    encrypt(key.encode(), iv.encode(), in_filename, out_filename)
    decrypt(key.encode(), iv.encode(), out_filename, in_filename + '.out')

五、Python加密解密參數

1、Python加密解密常用參數:

(1) 待加密的字元串或文件;

(2) 加密演算法的類型,例如SHA1、MD5;

(3) 加密演算法的密鑰;

(4) 加密演算法的向量(IV)。

2、Python加密解密參數示例:

以AES加密演算法為例,其中KEY和IV為16位元組字元串,plaintext為待加密數據:

from Crypto.Cipher import AES

KEY = '0123456789abcdef'
IV = '0123456789abcdef'
MODE = AES.MODE_CBC

aes_obj = AES.new(KEY, MODE, IV)
ciphertext = aes_obj.encrypt(plaintext)

六、Python加密解密演算法

1、Python常用的加密解密演算法:

(1) 對稱加密演算法,例如AES、DES、RC4等;

(2) 非對稱加密演算法,例如RSA、Elgamal、Diffie-Hellman等;

(3) Hash演算法,例如MD5、SHA1、SHA256、SHA512等。

2、Python加密解密演算法示例:

以AES對稱加密演算法為例,其中KEY和IV為16位元組字元串,plaintext為待加密數據:

from Crypto.Cipher import AES

KEY = '0123456789abcdef'
IV = '0123456789abcdef'
MODE = AES.MODE_CBC

aes_obj = AES.new(KEY, MODE, IV)
ciphertext = aes_obj.encrypt(plaintext)

七、Python加密與解密

1、Python加密與解密的基本流程:

(1) 根據加密演算法生成加密對象;

(2) 使用加密對象對明文進行加密操作;

(3) 使用加密對象對密文進行解密操作。

2、Python加密與解密流程示例:

以AES對稱加密演算法為例,其中KEY和IV為16位元組字元串,plaintext為待加密數據:

from Crypto.Cipher import AES

KEY = '0123456789abcdef'
IV = '0123456789abcdef'
MODE = AES.MODE_CBC

aes_obj = AES.new(KEY, MODE, IV)

ciphertext = aes_obj.encrypt(plaintext)

decrypted_text = aes_obj.decrypt(ciphertext)

八、Python加密Excel

1、Python加密Excel庫:

在Python中,我們可以使用openpyxl庫進行Excel文件的加密,該庫支持Excel 2010及以上版本的.xlsx文件。

2、Python加密Excel代碼示例:

from openpyxl import load_workbook
from openpyxl.workbook.protection import WorkbookProtection

def encrypt_excel(filename, password):
    wb = load_workbook(filename)
    ws = wb.active
    ws.protection.password = password
    ws.protection.sheet = True
    wb.security = WorkbookProtection(workbookPassword=password, revisionsPassword=password)
    wb.save(filename)

if __name__ == '__main__':
    filename = 'test.xlsx'
    password = '123456'
    encrypt_excel(filename, password)

總結

本文對Python SHA1加密進行了詳細的講解,包括Python SHA1加密演算法、Python SHA1加密解密代碼、Python加密的庫、Python加密U盤、Python加密解密參數、Python加密解密演算法、Python加密與解密、Python加密Excel等方面。通過學習本文,可以更好地理解Python中常用的加密技術,從而保證數據的安全性和完整性。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/236076.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-12 11:57
下一篇 2024-12-12 11:57

相關推薦

  • Python周杰倫代碼用法介紹

    本文將從多個方面對Python周杰倫代碼進行詳細的闡述。 一、代碼介紹 from urllib.request import urlopen from bs4 import Bea…

    編程 2025-04-29
  • Python計算陽曆日期對應周幾

    本文介紹如何通過Python計算任意陽曆日期對應周幾。 一、獲取日期 獲取日期可以通過Python內置的模塊datetime實現,示例代碼如下: from datetime imp…

    編程 2025-04-29
  • 如何查看Anaconda中Python路徑

    對Anaconda中Python路徑即conda環境的查看進行詳細的闡述。 一、使用命令行查看 1、在Windows系統中,可以使用命令提示符(cmd)或者Anaconda Pro…

    編程 2025-04-29
  • Python中引入上一級目錄中函數

    Python中經常需要調用其他文件夾中的模塊或函數,其中一個常見的操作是引入上一級目錄中的函數。在此,我們將從多個角度詳細解釋如何在Python中引入上一級目錄的函數。 一、加入環…

    編程 2025-04-29
  • Python列表中負數的個數

    Python列表是一個有序的集合,可以存儲多個不同類型的元素。而負數是指小於0的整數。在Python列表中,我們想要找到負數的個數,可以通過以下幾個方面進行實現。 一、使用循環遍歷…

    編程 2025-04-29
  • Python清華鏡像下載

    Python清華鏡像是一個高質量的Python開發資源鏡像站,提供了Python及其相關的開發工具、框架和文檔的下載服務。本文將從以下幾個方面對Python清華鏡像下載進行詳細的闡…

    編程 2025-04-29
  • Python字典去重複工具

    使用Python語言編寫字典去重複工具,可幫助用戶快速去重複。 一、字典去重複工具的需求 在使用Python編寫程序時,我們經常需要處理數據文件,其中包含了大量的重複數據。為了方便…

    編程 2025-04-29
  • 蝴蝶優化演算法Python版

    蝴蝶優化演算法是一種基於仿生學的優化演算法,模仿自然界中的蝴蝶進行搜索。它可以應用於多個領域的優化問題,包括數學優化、工程問題、機器學習等。本文將從多個方面對蝴蝶優化演算法Python版…

    編程 2025-04-29
  • Python程序需要編譯才能執行

    Python 被廣泛應用於數據分析、人工智慧、科學計算等領域,它的靈活性和簡單易學的性質使得越來越多的人喜歡使用 Python 進行編程。然而,在 Python 中程序執行的方式不…

    編程 2025-04-29
  • python強行終止程序快捷鍵

    本文將從多個方面對python強行終止程序快捷鍵進行詳細闡述,並提供相應代碼示例。 一、Ctrl+C快捷鍵 Ctrl+C快捷鍵是在終端中經常用來強行終止運行的程序。當你在終端中運行…

    編程 2025-04-29

發表回復

登錄後才能評論