将字符串转换为字节数组

本文关键字:字节数 数组 字节 字符串 转换 | 更新日期: 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");