将字符串转换为字节数组
本文关键字:字节数 数组 字节 字符串 转换 | 更新日期: 2023-09-27 18:03:09
我遇到一个问题,其中方法调用需要字符串(plainText)或字节[](plainTextAsBytes)并且正在生成Cannot implicitly convert type string to byte[]
的编译错误,我试图隐式地将字符串转换为字节数组,也没有成功。
我已经阅读并尝试了以下SO帖子中的示例:
c#将字符串转换为字节数组
不能隐式地将类型string转换为byte[]
我调用的代码位于(在c#部分):
如何使用salt对数据进行加密和解密
那么,我做错了什么?
编辑1
问题是当使用this时:
byte[] array = Encoding.UTF8.GetBytes(SMTPModel.SMTPPassword);
EncryptedPassword = RijndaelEnhanced.Encrypt(plainTextBytes: array);
或:
EncryptedPassword = RijndaelEnhanced.Encrypt(plainText: decryptedPassword);
甚至:
EncryptedPassword = RijndaelEnhanced.Encrypt(plainText: "Test");
我得到了上述错误。
编辑2
忘记提供以下信息:
decryptedPassword是定义为:
string decryptedPassword = SMTPModel.SMTPPassword;
好的,谢谢你的洞察力和帮助,但是问题不是我的代码,而是我正在调用的代码。当我使用来自Rijndael类(EncryptToBytes
)的不同方法调用时,它编译得很好,没有错误。
下面是有效的语句:
EncryptedPassword = RijndaelEnhanced.EncryptToBytes(plainTextBytes: Encoding.UTF8.GetBytes(SMTPModel.SMTPPassword));
再次感谢您的宝贵时间。
使用Encoding命名空间。请注意,UTF8编码可以是ASCII或其他。
byte[] array = Encoding.UTF8。GetBytes("The Quick Brown Fox跳过The yellow moon");