我已经编写了python代码,其中需要文件的md5/sha1摘要以供进一步使用。你知道吗
import hashlib
md5_file = hashlib.md5(my_file_path).digest()
它将生成这种类型的摘要。你知道吗
'si\x155u\xba\xd2\xf9N^\xabq\xc87\xffh'
这是16位md5的十六进制表示。 接下来我做的是把它转换成列表
md5hexstring = list(md5_file)
o/p = ['s', 'i', '\x15', '5', 'u', '\xba', '\xd2', '\xf9', 'N', '^', '\xab', 'q', '\xc8', '7', '\xff', 'h']
现在我想用这样的逻辑来编码。你知道吗
pseudo code of logic I want to use:
char_val >> 4 then
if char_val < 6 : new_val = char_val + '3' else : new_val = 'x' + char_val - 7
encoded_val = encoded_val + new_val
again char_val & 0x0f then
if char_val < 6 : new_val = char_val + '3' else : new_val = 'x' + char_val - 7
encoded_val = encoded_val + new_val
添加字符3的ascii值,例如“3”=>;51+字符值=
这在C++中通常是容易做到的,但是在Python中我尝试了{{CD1>}和^ {< CD2>},但是这个具有255的限制和校验和计算通常会比这更有价值。所以我不知道如何在python中做到这一点。你知道吗
这里有两个问题:
我将每个字符的摘要转换为列表的处理方式是否正确?(如果不是,那么什么是正确的方法)
如何根据前面提到的伪码进行自定义编码。
附言:
我不想将python的encode()
api用于base64编码,因为我需要如上所述的自定义编码,所以除非我可以将this逻辑添加到此api中,否则请不要建议这样做。你知道吗
尝试引用this,但没有成功
目前没有回答
相关问题 更多 >
编程相关推荐