私はRESTAPIを開発しています。HttpClient
クライアントは、サーバーの公開鍵で暗号化した後、そのユーザー名とパスワードを認証ヘッダーに入れます。ユーザー名とパスワードは常にアルファベットと数字で構成されます。つまり、ASCIIで表すことができます。
このコードを暗号化に使用しています。
string encrypted = Encrypt (someText, crypto);
public static string Encrypt (string plainText, RSACryptoServiceProvider crypto)
{
var plainData = GetBytes (plainText);
var encryptedData = crypto.Encrypt (plainData, true);
return GetString (encryptedData);
}
public static byte[] GetBytes (string str)
{
var bytes = new byte[str.Length * sizeof (char)];
Buffer.BlockCopy (str.ToCharArray (), 0, bytes, 0, bytes.Length);
return bytes;
}
public static string GetString (byte[] bytes)
{
var chars = new char[bytes.Length / sizeof (char)];
Buffer.BlockCopy (bytes, 0, chars, 0, bytes.Length);
return new string (chars);
}
問題は、暗号化後にこの文字列を取得することです
꠨屰欧㼡⭮鍴⬎㔾䐛え멩戻덒郝㬭ே䉚ꑰ䵇᷹᷶虣ⱒ̿ঊࠎ飳枹鬭쉦폩ᤫ槺愐丄裘ډ졽肟䷋ٱ᮷튼쁡鮤붮飦ꃨ◡ 뉋⭠夏旻浨᠏რ
これらのUnicode文字を認証ヘッダーで送信できません。暗号化されたテキストをASCIIで取得して、HttpClient経由で簡単に送信できるようにする方法はありますか?