python 中的 base64 语法无效

base64 syntax in python is not working

此代码适用于命令行。

python -c 'import base64,sys; u,p=sys.argv[1:3]; print  base64.encodestring("%s\x00%s\x00%s" % (u,u,p))' user pass

输出是 dXNlcgB1c2VyAHBhc3M=

我正试图让它在我的脚本中工作

test = base64.encodestring("{0}{0}{1}").format(acct_name,pw)
print test

输出是 ezB9ezB9ezF9

有人不知道我做错了什么吗? 谢谢。

你的括号有误。而不是:

test = base64.encodestring("{0}{0}{1}").format(acct_name,pw)

(首先在 base64 中对“{0}{0}{1}”进行编码,然后 然后 尝试使用 format 替换变量),

你应该

test = base64.encodestring("{0}{0}{1}".format(acct_name,pw))

(首先使用 format 替换变量,然后 在 base64 中编码)。

谢谢 SZYM 我已经准备好了。这是让它工作的代码

test = base64.encodestring("{0}\x00{0}\x00{1}".format(acct_name,pw))

原来需要十六进制 \x00 以便获取散列的程序知道用户名停止的位置和密码的开始位置。 -ALF