Wave Spread...

使用 Python 实现 base64 加密和解密

分类:Linux 评论: 0

base64 是常用的字符串加密解密方式,本文使用 Python 实现加密及解密。

加密

文件名 base64encode.py

#!/usr/bin/python3
#encoding:utf-8
import base64
var = 1
while var==1:
    str_encrypt=input("输入要加密的字符串:\n"); 
    base64_encrypt = base64.b64encode(str_encrypt.encode('utf-8'))
    print("BASE64加密串:\n"+str(base64_encrypt,'utf-8'))
    print("按ctrl+c退出程序")

注意:文件保存不能保存为 base64.py ,否则程序会默认调用自身,导致报错。

解密

文件名 base64decode.py

#!/usr/bin/python3
#encoding:utf-8
import base64
import logging
import sys
# 用base64_decrypt创建日志记录器
logger = logging.getLogger('base64_decrypt')
logger.setLevel(logging.DEBUG)
# 创建甚至记录调试消息的文件处理程序
fh = logging.FileHandler("~/basic_logger.log")
fh.setLevel(logging.DEBUG)
# 创建具有较高日志级别的控制台处理程序
ch = logging.StreamHandler()
ch.setLevel(logging.ERROR)
# 创建格式化程序并将其添加到处理程序中
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
fh.setFormatter(formatter)
ch.setFormatter(formatter)
# 将处理程序添加到记录器
logger.addHandler(fh)
logger.addHandler(ch)

while True :
    global base64_decrypt
    try:
        str_decrypt=input("输入BASE64加密串:\n")
        base64_decrypt = base64.b64decode(str_decrypt.encode('utf-8'))
        print("BASE64解密串(UTF-8):\n",str(base64_decrypt,'utf-8'))
        logger.info("BASE64解密串:\n"+str(base64_decrypt,'utf-8'))
    except Exception as e:
        print ("BASE64解密串(UTF-8)异常:", e)
        print("BASE64解密串(默认字符集):\n",str(base64_decrypt))
        base64_decrypt=""
        logger.info("e:"+ str(e))
    finally:  
        print("按ctrl+c退出程序")

参考链接

回复