python小问题

橘子皮... 2019-01-26 01:28:34
print(base64.b64encode('你好'.encode('utf-8')).decode('utf-8'))

加密出来的感觉不对劲,和其他语言的不一致,怎么改呢
...全文
113 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
引用 3 楼 橘子皮zzz 的回复:
[quote=引用 2 楼 堕落恶魔_Delphi 的回复:] 这样没问题啊, 你说的结果不一样, 估计是原始中文编码不一样吧, 用ansi编码的'你好'和utf-8编码的和utf-16编码 BASE64的结果肯定不一样, 因为他们的2进制数据是不一样的, base64是针对2进制数据进行编码 你如果是用英文和数字进行测试就会发现一致了, 因为常见编码对英文和数字编码都是统一兼容的 另外BASE64并不是一种加密...只是一种将不可见字符转换为明文传递的算法
请问将'你好'转成 xOO6ww== py里应该怎么写???[/quote]

print(base64.b64encode('你好'.encode('ansi')).decode('utf-8'))
  • 打赏
  • 举报
回复
这样没问题啊, 你说的结果不一样, 估计是原始中文编码不一样吧, 用ansi编码的'你好'和utf-8编码的和utf-16编码 BASE64的结果肯定不一样, 因为他们的2进制数据是不一样的, base64是针对2进制数据进行编码 你如果是用英文和数字进行测试就会发现一致了, 因为常见编码对英文和数字编码都是统一兼容的 另外BASE64并不是一种加密...只是一种将不可见字符转换为明文传递的算法
橘子皮... 2019-01-27
  • 打赏
  • 举报
回复
引用 2 楼 堕落恶魔_Delphi 的回复:
这样没问题啊, 你说的结果不一样, 估计是原始中文编码不一样吧, 用ansi编码的'你好'和utf-8编码的和utf-16编码 BASE64的结果肯定不一样, 因为他们的2进制数据是不一样的, base64是针对2进制数据进行编码 你如果是用英文和数字进行测试就会发现一致了, 因为常见编码对英文和数字编码都是统一兼容的 另外BASE64并不是一种加密...只是一种将不可见字符转换为明文传递的算法
请问将'你好'转成 xOO6ww== py里应该怎么写???
ruancan 2019-01-26
  • 打赏
  • 举报
回复
加密算法可不是个小问题,跟其他语言加密的不一样说明加密的算法不同,实际开发中不会使用你这种方式的加密,而且即使算法一样,也需要有私钥和公钥配对使用,如果不匹配,加密的结果也是不一样的

37,721

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧