python3.7编码解码为什么会出现等号

pythonpython11.py1.加密2.解密3.退出请选择:1输入明文:hb'aA=='1.加密2.解密3.退出请选择:2请输入密文:aA==b'h'1.加密2.解... python python11.py
1. 加密
2. 解密
3. 退出
请选择:1
输入明文:h
b'aA=='
1. 加密
2. 解密
3. 退出
请选择:2
请输入密文:aA==
b'h'
1. 加密
2. 解密
3. 退出
源代码:
#! /usr/bin/env python
#coding=utf-8
import base64
def safe_b64encode():
str_b64e = input(u"输入明文:")
str_b64e = base64.urlsafe_b64encode(str_b64e.encode("utf-8"))
if str_b64e[-2] == '=':
str_b64e = str_b64e[:-2]
elif str_b64e[-1] == '=':
str_b64e = str_b64e[:-1]
print(str_b64e)
def safe_b64decode():
str_b64d = input("请输入密文:")
if len(str_b64d) % 4 == 3:
str_b64d = str_b64d + '='
elif len(str_b64d) % 4 == 2:
str_b64d = str_b64d + '=='
print( base64.urlsafe_b64decode(str_b64d))
while True:
print (u"1. 加密")
print (u"2. 解密")
print (u"3. 退出")
choice = input("请选择:")
if choice == "1":
safe_b64encode()
elif choice == "2":
safe_b64decode()
elif choice == "3":
break;
else:
print (u"您的输入有误!")
展开
 我来答
  • 你的回答被采纳后将获得:
  • 系统奖励15(财富值+成长值)+难题奖励20(财富值+成长值)
华玉龙55
2018-12-03 · TA获得超过341个赞
知道小有建树答主
回答量:694
采纳率:79%
帮助的人:88.3万
展开全部
换个别的加密方案呗,能解密出来,证明没问题啊,干嘛纠结加密后有没有等号呢
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式