python day01

简单的数据加密

通过运用异或运算,将输入的数据进行加密。

pwd = input("请输入密码:")
print("原密码为:",pwd)
key = input("请输入密钥")
password = int(pwd)^int(key)
print("加密后:",password)
print("解密后:",password^int(key))

代码运行图如下:

python加密数据库连接密码 python数据加密代码_python


异或运算原理:将两个操作数的二进制表示同时为0或同时为1时,结果为0,反之为1.例如使用十进制31和22进行异或运算的具体步骤如下图:

python加密数据库连接密码 python数据加密代码_python_02


#关于二进制正负数的思考

编写思考:我们通常使用的八位二进制是默认为无符号整数,即最高位为1时为正数。比如0-255的时候使用二进制为0000 0000 和1111 1111当使用到16位,32位,64位二进制的时候,二进制是有符号整数,即最高位为1时为负数。16位整数的最小值为 -32768(二进制 1000 0000 0000 0000),最大值为32767(0111 1111 1111 1111),如果超过这个范围(比如32768),那么程序就会报“溢出”的错误,这种情况下就要扩大数的位数才行了。