python文本加密是Python 提供了諸如 hashlib,base64 等便於使用的加密庫,我們可以藉助異或操作,實現一個簡單的文件加密程序。
通過了解異或操作的性質,加密原理就非常清晰了。
首先將文件轉換成二進制數,再生成與該二進制數等長的隨機密鑰,將二進制數與密鑰進行異或操作,得到加密後的二進制數。
將加密後的二進製程序與密鑰進行異或操作,就得到原二進制數,最後將原二進制數恢復成文本文件。
相關拓展
加密,是以某種特殊的演算法改變原有的信息數據,使得未授權的用戶即使獲得了已加密的信息,但因不知解密的方法,仍然無法了解信息的內容。
加密之所以安全,絕非因不知道加密解密演算法方法,而是加密的密鑰是絕對的隱藏,流行的RSA和AES加密演算法都是完全公開的,一方取得已加密的數據,就算知道加密演算法也好,若沒有加密的密鑰,也不能打開被加密保護的信息。
單單隱蔽加密演算法以保護信息,在學界和業界已有相當討論,一般認為是不夠安全的。公開的加密演算法是給黑客和加密家長年累月攻擊測試,對比隱蔽的加密演算法要安全得多。
盡管加密或為了安全目的對信息解碼這個概念十分簡單,但在這里仍需對其進行解釋。數據加密的基本過程包括對稱為明文的原來可讀信息進行翻譯,譯成稱為密文或密碼的代碼形式。該過程的逆過程為解密,即將該編碼信息轉化為其原來的形式的過程。
以上內容參考 網路-加密
一、使用工具:python、linux
二、方法步驟:有三種方法
1、 最簡單的方法,但是不安全
raw_input() :
pwd = raw_input('password: ')
print pwd
# password: aaa
# aaa
2、很安全,但是看不到輸入的位數,會讓人覺得有點不習慣,不知道的還以為沒有在輸入
getpass.getpass() :
import getpass
pwd = getpass.getpass('password: ')
print pwd
# password:
# aaaa
3、
msvcrt.getch() :
代碼如下:
import msvcrt, sys
def pwd_input():
chars = []
while True:
newChar = msvcrt.getch()
if newChar in '\r\n':
# 如果是換行,則輸入結束
print ''
break
elif newChar == '\b':
# 如果是退格,則刪除末尾一位
if chars:
del chars[-1]
sys.stdout.write('\b')
# 刪除一個星號,但是不知道為什麼不能執行...
else:
chars.append(newChar)
sys.stdout.write('*')
# 顯示為星號
print ''.join(chars)
pwd = pwd_input()
print pwd
# ******
# aaaaaa
三、注意事項:第三種方法解決了第二種方法不能顯示輸入位數的問題,但是如果按退格鍵(backspace)的話,雖然實際的是退格了,
但控制台卻沒有顯示相應的退格,比如,當前輸入是:abcd,顯示為:****,然後現在打一個退格鍵,實際
輸入為:abc,而顯示仍為:****。不知道為什麼 sys.stdout.write('\b') 這行沒有執行,估計是和使用msvcrt.getch()有關系。感興趣的朋友可以進一步研究一下。
㈢ 如何在python加密自己的密碼
加密有很多種加密方式,常用的加密是md5加密,給你寫個例子
importhashlib
defmd5(str):
m=hashlib.md5()
m.update(str.encode("utf8"))
print(m.hexdigest())
returnm.hexdigest()
defmd5GBK(str1):
m=hashlib.md5(str1.encode(encoding='gb2312'))
print(m.hexdigest())
returnm.hexdigest()
md5('hello')
md5GBK('你好')
㈣ python 如何實現配置文件中的配置項加密
可以在寫入配置文件的時候,進行加密,讀取配置後解密即可
比如使用base64加密:
base64.b64encode加密,base64.b64decode解密
㈤ python生成的py文件怎麼加密
使用任意加密演算法,或者按照隨機的密鑰進行錯亂擺放,即可起到加密的效果。這兩種方法都沒有破解方案
㈥ 怎麼在python設置用密碼登錄
用字典比用list 好些
list_user={}
cmd=raw_input('輸入命令 1 注冊 2登錄 3 退出:')
##print 'cmd:',cmd,cmd <>3,type(cmd)
cmd = int(cmd)
while (cmd <>3):
㈦ Python怎麼對用戶密碼進行MD5加密,或者是單向加密
importhashlib
password_r='abcd'
password_md5=hashlib.md5(password_r).hexdigest()
md5對password_r加密
㈧ 使用python3 設置密碼 要求長度8-20 必須由數字或字母組成
用字元串屬性的變數存放,用len()函數判斷密碼長度,用for遍歷字元串,用鏈式比較判斷是否數字,大小寫字母。'0'<=i<='9' 'a'<=i<='z' 'A'<=i<='Z'
㈨ Python如何對Word加密
你可以先保存為path2,然後刪除path1,最後把path2的名字改成path1的名字