在C#中满足以下内容的最现代(最佳)方式是什么?
string encryptedString = SomeStaticClass.Encrypt(sourceString);
string decryptedString = SomeStaticClass.Decrypt(encryptedString);
Run Code Online (Sandbox Code Playgroud)
但最小的涉及盐,键,与字节[]等混乱的大惊小怪等.
谷歌搜索和混淆我发现的东西(你可以看到类似的SO Q列表,看这是一个欺骗性的问题).
我有一个REST服务,它读取文件并将其转换为另一个控制台应用程序,然后将其转换为Byte数组,然后再转换为Base64字符串.这部分是正确的,但是当在应用程序中接收到相同的流时,它会被操纵并且不再是有效的Base64字符串.一些垃圾字符被引入流中.
我将流转换回Byte时获得的异常是"输入不是有效的Base-64字符串,因为它包含非基本64个字符,两个以上的填充字符或填充中的非空白字符人物".
在服务:
[WebGet(UriTemplate = "ReadFile/Convert", ResponseFormat = WebMessageFormat.Json)]
public string ExportToExcel()
{
string filetoexport = "D:\\SomeFile.xls";
byte[] data = File.ReadAllBytes(filetoexport);
var s = Convert.ToBase64String(data);
return s;
}
Run Code Online (Sandbox Code Playgroud)
申请时:
var client = new RestClient("http://localhost:56877/User/");
var request = new RestRequest("ReadFile/Convert", RestSharp.Method.GET);
request.AddHeader("Accept", "application/Json");
request.AddHeader("Content-Type", "application/Json");
request.OnBeforeDeserialization = resp => {resp.ContentType = "application/Json";};
var result = client.Execute(request);
byte[] d = Convert.FromBase64String(result.Content);
Run Code Online (Sandbox Code Playgroud) 当我尝试使用以下代码将value1转换为byte []时:
string value1 = "4rdHFh%2BHYoS8oLdVvbUzEVqB8Lvm7kSPnuwF0AAABYQ%3D";
byte[] value2 = Convert.FromBase64String(value1);
Run Code Online (Sandbox Code Playgroud)
Ι收到错误,字符串内容无效base-64字符...
怎么了?
谢谢!