作业帮 > 综合 > 作业

c# AES 看到晚上写的很多c#的AES加密解密的代码在对string加密和解密的时候,为什么要将明文加密成BASE6

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/09 12:19:29
c# AES
看到晚上写的很多c#的AES加密解密的代码
在对string加密和解密的时候,为什么要将明文加密成BASE64编码的string,而不用其他编码呢.而且我用ASCII或者UTF8或者default编码,都会产生错误,不知为何
在对byte [] 加密和解密的时候,在最后返回的时候用到一个函数是memoryStream中的toArray()函数,而改成 getBuffer()后,就会出问题,也就是说一定要创建byte副本才行,这是为什么呢?
多谢大侠们指教
BASE64和ascii、utf8不是一类东西.加密后的二进制代码会有很多不可见字符,经过BASE64编码后的数据仅包含0-9、a-z、A-Z、+、/这64个字符,这样保证可见.
如果要查看或者保存到文本文件自然要编码为可见字符.
如果你加密后直接存入二进制文件,那自然不必再转换为BASE64,直接保存即可.
第二个问题,没做过