資産ファイルにある.cerファイルで文字列値を暗号化することはありません。c# のこのコードを見つけました。しかし、Androidの場合、どうすればそれを行うことができますか?
public string GetEncryptValue(string value)
{
X509Certificate2 x509_2 = w X509Certificate2(C:/publicCer.cer);//for android asset file
var encryptedValue = Encrypt(x509_2, value);
return encryptedValue;
}
public static string Encrypt(X509Certificate2 x509, string stringToEncrypt)
{
if (x509 == null || string.IsNullOrEmpty(stringToEncrypt))
throw new Exception("A x509 certificate and string for encryption must be provided");
RSACryptoServiceProvider rsa = (RSACryptoServiceProvider)x509.PublicKey.Key;
byte[] bytestoEncrypt = ASCIIEncoding.ASCII.GetBytes(stringToEncrypt);
byte[] encryptedBytes = rsa.Encrypt(bytestoEncrypt, false);
return Convert.ToBase64String(encryptedBytes);
}