欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python字符串加密解密的三種方法分享(base64 win32com)

 更新時間:2014年01月19日 16:04:09   作者:  
這篇文章主要介紹了python字符串加密解密的三種方法,包括用base64、使用win32com.client、自己寫的加密解密算法三種方法,大家參考使用吧

1. 最簡單的方法是用base64:

復(fù)制代碼 代碼如下:

import base64

s1 = base64.encodestring('hello world')
s2 = base64.decodestring(s1)
print s1,s2

# aGVsbG8gd29ybGQ=\n
# hello world

Note: 這是最簡單的方法了,但是不夠保險,因為如果別人拿到你的密文,也可以自己解密來得到明文


2. 第二種方法是使用win32com.client

復(fù)制代碼 代碼如下:

import win32com.client
def encrypt(key,content): # key:密鑰,content:明文
    EncryptedData = win32com.client.Dispatch('CAPICOM.EncryptedData')
    EncryptedData.Algorithm.KeyLength = 5
    EncryptedData.Algorithm.Name = 2
    EncryptedData.SetSecret(key)
    EncryptedData.Content = content
    return EncryptedData.Encrypt()

def decrypt(key,content): # key:密鑰,content:密文
    EncryptedData = win32com.client.Dispatch('CAPICOM.EncryptedData')
    EncryptedData.Algorithm.KeyLength = 5
    EncryptedData.Algorithm.Name = 2
    EncryptedData.SetSecret(key)
    EncryptedData.Decrypt(content)
    str = EncryptedData.Content
    return str

s1 = encrypt('lovebread', 'hello world')
s2 = decrypt('lovebread', s1)
print s1,s2

# MGEGCSsGAQQBgjdYA6BUMFIGCisGAQQBgjdYAwGgRDBCAgMCAAECAmYBAgFABAgq
# GpllWj9cswQQh/fnBUZ6ijwKDTH9DLZmBgQYmfaZ3VFyS/lq391oDtjlcRFGnXpx
# lG7o
# hello world



Note: 這種方法也很方便,而且可以設(shè)置自己的密鑰,比第一種方法更加安全,是加密解密的首選之策!

3. 還有就是自己寫加密解密算法,比如:

復(fù)制代碼 代碼如下:

def encrypt(key, s):
    b = bytearray(str(s).encode("gbk"))
    n = len(b) # 求出 b 的字節(jié)數(shù)
    c = bytearray(n*2)
    j = 0
    for i in range(0, n):
        b1 = b[i]
        b2 = b1 ^ key # b1 = b2^ key
        c1 = b2 % 16
        c2 = b2 // 16 # b2 = c2*16 + c1
        c1 = c1 + 65
        c2 = c2 + 65 # c1,c2都是0~15之間的數(shù),加上65就變成了A-P 的字符的編碼
        c[j] = c1
        c[j+1] = c2
        j = j+2
    return c.decode("gbk")

def decrypt(key, s):
    c = bytearray(str(s).encode("gbk"))
    n = len(c) # 計算 b 的字節(jié)數(shù)
    if n % 2 != 0 :
        return ""
    n = n // 2
    b = bytearray(n)
    j = 0
    for i in range(0, n):
        c1 = c[j]
        c2 = c[j+1]
        j = j+2
        c1 = c1 - 65
        c2 = c2 - 65
        b2 = c2*16 + c1
        b1 = b2^ key
        b[i]= b1
    try:
        return b.decode("gbk")
    except:
        return "failed"

key = 15
s1 = encrypt(key, 'hello world')
s2 = decrypt(key, s1)
print s1,'\n',s2

# HGKGDGDGAGPCIHAGNHDGLG
# hello world

相關(guān)文章

  • Python繪制圣誕樹+落葉+雪花+背景音樂+浪漫彈窗?五合一版圣誕樹

    Python繪制圣誕樹+落葉+雪花+背景音樂+浪漫彈窗?五合一版圣誕樹

    馬上不就到圣誕節(jié)了嘛,我看到朋友圈里很多小伙伴再紛紛炫耀自己收到的專屬圣誕樹,今天小編給大家介紹的是通過Python繪制的五合一版圣誕樹:圣誕樹+落葉+雪花+背景音樂+浪漫彈窗。感興趣的小伙伴快來學(xué)習(xí)一下吧
    2021-12-12
  • django-rest-framework解析請求參數(shù)過程詳解

    django-rest-framework解析請求參數(shù)過程詳解

    這篇文章主要介紹了django-rest-framework解析請求參數(shù)過程詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-07-07
  • Python報錯之如何解決matplotlib繪圖中文顯示成框框問題

    Python報錯之如何解決matplotlib繪圖中文顯示成框框問題

    這篇文章主要介紹了Python報錯之如何解決matplotlib繪圖中文顯示成框框問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • Random 在 Python 中的使用方法

    Random 在 Python 中的使用方法

    random() 方法返回隨機(jī)生成的一個實數(shù),它在[0,1)范圍內(nèi)。這篇文章主要介紹了Random 在 Python 中的使用方法,需要的朋友可以參考下
    2018-08-08
  • 如何使用Python?VTK繪制線條

    如何使用Python?VTK繪制線條

    這篇文章主要介紹了如何使用Python-VTK繪制線條,主要繪制直線和曲線,下面文章詳細(xì)實現(xiàn)過程需要的小伙伴可以參考一下
    2022-04-04
  • Python實現(xiàn)合成多張圖片到PDF格式

    Python實現(xiàn)合成多張圖片到PDF格式

    在日常生活中,經(jīng)常會遇到需要提交身份證正反面證明資料的情況,而且這些網(wǎng)站大部分只接受pdf格式,這時候我們就需要把身份證正反面兩張圖片合成為一個pdf文件。本文將為大家提供用Python實現(xiàn)這一要求的方法,需要的可以參考一下
    2022-02-02
  • Python實現(xiàn)模擬登錄網(wǎng)易郵箱的方法示例

    Python實現(xiàn)模擬登錄網(wǎng)易郵箱的方法示例

    這篇文章主要介紹了Python實現(xiàn)模擬登錄網(wǎng)易郵箱的方法,結(jié)合實例形式分析了Python基于urllib2及cookielib模塊的http請求、數(shù)據(jù)傳輸及交互相關(guān)操作技巧,需要的朋友可以參考下
    2018-07-07
  • 理解python正則表達(dá)式

    理解python正則表達(dá)式

    這篇文章主要介紹了python正則表達(dá)式,在python中,對正則表達(dá)式的支持是通過re模塊來支持的,想要了解python正則表達(dá)式的朋友可以參考一下
    2016-01-01
  • Python實現(xiàn)截屏的函數(shù)

    Python實現(xiàn)截屏的函數(shù)

    本文給大家分享的是使用Python實現(xiàn)截屏功能的函數(shù),十分的實用,有需要的小伙伴可以參考下。
    2015-07-07
  • 使用python實現(xiàn)抓取騰訊視頻所有電影的爬蟲

    使用python實現(xiàn)抓取騰訊視頻所有電影的爬蟲

    這篇文章主要介紹了使用python實現(xiàn)抓取騰訊視頻所有電影的爬蟲,本文通過實例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-04-04

最新評論