MD5在一个数组上,数组[0..63,uint8]转换为cstring

时间:2015-07-14 05:39:50

标签: nim nimrod

我正在尝试在数组[0..63,uint8]上执行md5Update但是我得到了

Error: type mismatch: got (MD5Context, array[0..63, uint8], int)
but expected one of: 
md5.md5Update(c: var MD5Context, input: cstring, len: int)

它似乎想要一个ctring输入而不是一个缓冲区。那我怎么能对二进制数据执行md5Update()呢? (我最后不想要一个空字符......)

1 个答案:

答案 0 :(得分:1)

您可以使用cstring将缓冲区转换为cast[cstring](addr myBuf)。请注意,您还必须传递var MD5Context,这意味着它必须是可变的(在var中定义或作为var参数传递)。