使用公钥(.pem)文件加密密码

时间:2015-08-21 04:22:22

标签: c# public-key-encryption

现在我有一个公钥(.pem)文件和密码来加密。

-----开始公共关键-----

..... ... ...

----- END PUBLIC KEY -----

我想获取加密密码的byte []值。 它没有得到任何错误,但返回byte []值似乎是错误的。

以下是我使用的编码电流,请帮助我或建议我,如果我出错了。

非常感谢您的帮助!!

private static UnicodeEncoding _encoder = new UnicodeEncoding();

public byte[] getPem(string pemFile, string password)
        {
            byte[] encryptData;

            RSACryptoServiceProvider rsa = new RSACryptoServiceProvider();
            byte[] Exponent = { 1, 0, 1 };

            RSAParameters rsaParam = rsa.ExportParameters(false);
            rsaParam.Modulus = Convert.FromBase64String(File.ReadAllText(pemFile).Replace("-----BEGIN PUBLIC KEY-----", "").Replace("-----END PUBLIC KEY-----", ""));

            rsaParam.Exponent = Exponent;

            rsa.ImportParameters(rsaParam);
            var dataToEncrypt = _encoder.GetBytes(password);
            encryptData = rsa.Encrypt(dataToEncrypt, false);

            return encryptData;
        }

0 个答案:

没有答案