国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

python使用Crypto庫(kù)實(shí)現(xiàn)加密解密

這篇具有很好參考價(jià)值的文章主要介紹了python使用Crypto庫(kù)實(shí)現(xiàn)加密解密。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

一:crypto庫(kù)安裝

pycrypto,pycryptodome是crypto第三方庫(kù),pycrypto已經(jīng)停止更新三年了,所以不建議安裝這個(gè)庫(kù);pycryptodome是pycrypto的延伸版本,用法和pycrypto 是一模一樣的;所以只需要安裝pycryptodome就可以了文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-548577.html

pip install pycryptodome

二:python使用crypto

1:crypto的加密解密組件des.py

#!/usr/bin/env python
# -*- coding: utf-8 -*-

from Crypto.Cipher import DES
from binascii import b2a_hex, a2b_hex
class MyDESCrypt: #自己實(shí)現(xiàn)的DES加密類
    def __init__(self, key = ''):
        #密鑰長(zhǎng)度必須為64位,也就是8個(gè)字節(jié)
        if key is not '':
            self.key = key.encode('utf-8')
        else:
            self.key = '12345678'.encode('utf-8')
        self.mode = DES.MODE_CBC
    # 加密函數(shù),如果text不足16位就用空格補(bǔ)足為16位,
    # 如果大于16當(dāng)時(shí)不是16的倍數(shù),那就補(bǔ)足為16的倍數(shù)。
    def encrypt(self,text):
        try:
            text = text.encode('utf-8')
            cryptor = DES.new(self.key, self.mode, self.key)
            # 這里密鑰key 長(zhǎng)度必須為16(DES-128),
            # 24(DES-192),或者32 (DES-256)Bytes 長(zhǎng)度
            # 目前DES-128 足夠目前使用
            length = 16   #lenth可以設(shè)置為8的倍數(shù)
            count = len(text)
            if count < length:
                add = (length - count)
                # \0 backspace
                # text = text + ('\0' * add)
                text = text + ('\0' * add).encode('utf-8')
            elif count > length:
                add = (length - (count % length))
                # text = text + ('\0' * add)
                text = text + ('\0' * add).encode('utf-8')
            self.ciphertext = cryptor.encrypt(text)
            # 因?yàn)镈ES加密時(shí)候得到的字符串不一定是ascii字符集的,輸出到終端或者保存時(shí)候可能存在問(wèn)題
            # 所以這里統(tǒng)一把加密后的字符串轉(zhuǎn)化為16進(jìn)制字符串
            return b2a_hex(self.ciphertext)
        except:
            return ""
    # 解密后,去掉補(bǔ)足的空格用strip() 去掉
    def decrypt(self, text):
        try:
            cryptor = DES.new(self.key, self.mode, self.key)
            plain_text = cryptor.decrypt(a2b_hex(text))
            # return plain_text.rstrip('\0')
            return bytes.decode(plain_text).rstrip('\0')
        except:
            return ""

2:crypto組件使用

from . import des
msg = "password is 961223"
key = "12345678"  #key值可傳可不傳
des1 = des.MyDESCrypt()
#加密
cipherTxt = des1.encrypt(msg)  #返回值為bytes型
print(cipherTxt)
#解密
decTxt = des1.decrypt(cipherTxt);  #返回值為str型
print(decTxt)

到了這里,關(guān)于python使用Crypto庫(kù)實(shí)現(xiàn)加密解密的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Hutool-crypto 加密、解密詳解!

    Hutool-crypto 加密、解密詳解!

    在Java開(kāi)發(fā)的過(guò)程中,很多場(chǎng)景下都需要加密解密。 比如對(duì)敏感數(shù)據(jù)的加密,對(duì)配置文件信息的加密,通信數(shù)據(jù)的加密等等。 今天介紹的是Hutool工具包中的加密模塊?crypto。 加密分為三類: 對(duì)稱加密(symmetric) 常用的有AES、DES 非對(duì)稱加密(asymmetric) 常用的有RSA,DSA 摘要加

    2024年02月06日
    瀏覽(22)
  • Java:Hutool工具箱之Hutool-crypto加密解密

    Java:Hutool工具箱之Hutool-crypto加密解密

    文檔 https://hutool.cn/docs/#/crypto/概述 重點(diǎn)單詞: 摘自文檔 依賴 以MD5 為例 以AES 加密為例 這里有個(gè)問(wèn)題,如果秘鑰長(zhǎng)度不夠16位,會(huì)報(bào)錯(cuò) 長(zhǎng)度只能是16位,24位,32位 參考 https://toscode.gitee.com/dromara/hutool/issues/I4O1EB 以RSA為例

    2024年02月16日
    瀏覽(31)
  • 【RSA加密/解密】PKCS1_OAEP和PKCS1_v1_5兩種填充方案【python RSA密鑰對(duì)生成、密碼加密、密文解密、pycharm安裝Crypto】

    一、PKCS1_OAEP和PKCS1_v1_5是公鑰加密標(biāo)準(zhǔn)中的兩種填充方案。 PKCS1_OAEP(Optimal Asymmetric Encryption Padding)是一種更安全的填充方案,它提供了更好的安全性和抗攻擊性。它使用隨機(jī)數(shù)進(jìn)行填充,并引入了哈希函數(shù)來(lái)增加安全性。 PKCS1_v1_5是較舊的填充方案,它使用固定的填充字節(jié)序

    2024年02月06日
    瀏覽(63)
  • 關(guān)于怎么使用python實(shí)現(xiàn) 3DES 加密/解密

    3DES (Triple DES) 是一種對(duì)稱加密算法,其特點(diǎn)是使用三次密鑰加密來(lái)提高安全性。 3DES的原理是:對(duì)明文進(jìn)行三次加密,每次加密的密鑰不同。加密時(shí),首先使用第一個(gè)密鑰對(duì)明文進(jìn)行加密,然后使用第二個(gè)密鑰對(duì)加密后的數(shù)據(jù)進(jìn)行解密,最后再使用第三個(gè)密鑰對(duì)解密后的數(shù)據(jù)

    2024年02月15日
    瀏覽(22)
  • 使用Python突破某網(wǎng)游游戲JS加密限制,進(jìn)行逆向解密,實(shí)現(xiàn)自動(dòng)登錄

    使用Python突破某網(wǎng)游游戲JS加密限制,進(jìn)行逆向解密,實(shí)現(xiàn)自動(dòng)登錄

    兄弟們天天看基礎(chǔ)看膩了吧 今天來(lái)分享一下如何使用Python突破某網(wǎng)游游戲JS加密限制,進(jìn)行逆向解密,實(shí)現(xiàn)自動(dòng)登錄。 目標(biāo):某 7 網(wǎng)游登錄 主頁(yè):aHR0cHM6Ly93d3cuMzcuY29tLw== 接口:aHR0cHM6Ly9teS4zNy5jb20vYXBpL2xvZ2luLnBocA== 逆向參數(shù):Query String Parameters: password: SlVEOThrcjgzNDNjaUYxOTQzNDM0eVM

    2023年04月13日
    瀏覽(22)
  • Python實(shí)現(xiàn)希爾加密/解密

    希爾加密的原理就不多講了,直接上代碼。 定義一個(gè)函數(shù):def fun(s, mod1, mod2, key) s:要加密/解密的字符串 mod1:加密或解密 mod2:A=0或A=1,目前網(wǎng)絡(luò)上的希爾加密都不是統(tǒng)一的,兩種模式得出的結(jié)果是不一樣的。 key:密鑰,轉(zhuǎn)換為矩陣后必須為方陣且可逆 要有傳入的參數(shù),key的長(zhǎng)

    2023年04月19日
    瀏覽(15)
  • AES加密解密python實(shí)現(xiàn)

    AES加密解密python實(shí)現(xiàn)

    ????????關(guān)于現(xiàn)代密碼學(xué)算法,可以查看以下博客全面了解 CISSP考試要求里的“應(yīng)用密碼學(xué)”內(nèi)容輔助記憶趣味串講_曉翔仔的博客-CSDN博客 ????????AES的細(xì)節(jié)知識(shí),可以查閱 AES加密算法的詳細(xì)介紹與實(shí)現(xiàn)_TimeShatter的博客-CSDN博客 ?????????AES 加密最常用的模式就是

    2024年02月05日
    瀏覽(22)
  • Python:實(shí)現(xiàn)密碼加密解密(含完整源碼)

    Python:實(shí)現(xiàn)密碼加密解密(含完整源碼) 密碼加密是保護(hù)用戶隱私的一種有效手段。本文將講解如何使用Python編寫一個(gè)簡(jiǎn)單的密碼加密解密程序,并提供完整源代碼。 步驟一:安裝依賴庫(kù) 我們需要使用到pycrypto庫(kù)來(lái)實(shí)現(xiàn)密碼加密解密的功能。安裝pycrypto庫(kù),可以通過(guò)pip命令進(jìn)

    2024年02月14日
    瀏覽(22)
  • 使用非對(duì)稱加密(RSA) 實(shí)現(xiàn)前端加密后端解密

    使用非對(duì)稱加密(RSA) 實(shí)現(xiàn)前端加密后端解密

    數(shù)據(jù)加密方式有: 單向加密、對(duì)稱加密、非對(duì)稱加密、加密鹽、散列函數(shù)、數(shù)字簽名。 1、單向加密 單向加密通過(guò)對(duì)數(shù)據(jù)進(jìn)行摘要計(jì)算生成密文,密文不可逆推還原。只能加密,不能解密,常用于提取數(shù)據(jù)的指紋信息以此來(lái)驗(yàn)證數(shù)據(jù)的完整性。但是會(huì)引發(fā)雪崩效應(yīng)(雪崩效應(yīng)

    2024年02月08日
    瀏覽(95)
  • Python實(shí)現(xiàn)對(duì)文件或文件夾的加密/解密

    ? 這個(gè)代碼實(shí)現(xiàn)了對(duì)文件夾內(nèi)指定類型文件的加密和解密操作,使用了base64庫(kù)對(duì)文件進(jìn)行加密和解密,使用os模塊進(jìn)行遍歷目錄,判斷文件類型,并進(jìn)行加密和解密操作,最后實(shí)現(xiàn)了文件刪除和寫入操作 代碼實(shí)例:

    2024年02月13日
    瀏覽(17)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包