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的名字