今天突然被问FromBase64String(String)和Encoding.Default.GetBytes(String)有啥区别,我刚开始学C#对这个一脸懵逼,于是总结一下今天查资料的内容。
首先,什么是Base64?
Base64呀,是个加密算法,原理呢在这里不重要,以后有机会补充,这里仅举例。
最初明文:abc——>Base64加密——>密文:YWJj ——>Base64加密——>密文:WVdKag== ——>Base64加密——>密文:V1ZkS2FnJTNEJTNE
密文:V1ZkS2FnJTNEJTNE——>Base64解密——>明文:WVdKag==——>Base64加密——>明文:YWJj——>Base64加密——>最初明文:abc
至此还原成功,可见Base64加密不是一对一的,而且多次加密可以由多次解密还原。
这个FromBase64String(String)方法的意思呢,是跟Base64加密有关系的。
微软给出的解释是:
Converts the specified string, which encodes binary data as base-64 digits, to an equivalent 8-bit unsigned integer array.
将指定的字符串(它将二进制数据编码为 Base64 数字)转换为等效的 8 位无符号整数数组。
翻译成人话为:
把那个“将二进制数据加密为Base64格式数据的指