无法从文件中获取字节数组进行解密

时间:2019-06-26 06:06:05

标签: c# encryption utf-8 byte tripledes

我正在尝试从文件中获取字节数组。我用过

data = [{'a':1}, {'b':2}]  # list of dicts as an example
with open('test.pkl', 'wb') as f:
    pickle.dump(data, f)

with open('test.pkl', 'rb') as f:
    data2 = pickle.load(f)

data2
# [{'a': 1}, {'b': 2}]

似乎可行,但是当I use my decryption code时,输出字符串无法正确解密。 (请参阅有关该问题的超链接)我认为文件或方法提供的字节不是UTF8编码的。

我的问题是:如何获得符合UTF8(或任何其他编码)标准的文件字节?

我尝试过:

byte[] p1 = File.ReadAllBytes(path);

但是三重解密只会给出错误消息:“ 要解密的数据长度无效。

我尝试过

string extdata8 = File.ReadAllText(path, Encoding.UTF8);
char[] charr = extdata8.ToCharArray();
byte[] cc2 = Encoding.UTF8.GetBytes(charr);

但是会提示错误:“ 输入不是有效的Base-64字符串,因为它包含非Base 64字符,两个以上的填充字符或填充字符中的非法字符。

有什么想法吗?

0 个答案:

没有答案