servicestack,Encryption,servicestack" /> servicestack,Encryption,servicestack" />

Encryption ServiceStack CryptUtils问题

Encryption ServiceStack CryptUtils问题,encryption,servicestack,Encryption,servicestack,我试图使用ServiceStack的CryptUtils类来使用“静态”密钥值(不同时间/会话的相同密钥)加密/解密数据。下面是我正在使用的代码。公钥和私钥是使用CryptUtils生成的 问题是,每次运行测试程序时,encryptedAddress都是一个不同的值(每次运行程序时,我都希望得到相同的值) 我做错了什么 谢谢 class Program { const string PUBLIC_KEY = "<RSAKeyValue><Modulus>5

我试图使用ServiceStack的CryptUtils类来使用“静态”密钥值(不同时间/会话的相同密钥)加密/解密数据。下面是我正在使用的代码。公钥和私钥是使用CryptUtils生成的

问题是,每次运行测试程序时,encryptedAddress都是一个不同的值(每次运行程序时,我都希望得到相同的值)

我做错了什么

谢谢

    class Program {
    const string PUBLIC_KEY = "<RSAKeyValue><Modulus>5/tn3eY3KpQUvlJ3u...";
    const string PRIVATE_KEY = "<RSAKeyValue><Modulus>5/tn3eY3KpQUvlJ3u...";

    static void Main(string[] args) {
        RsaKeyPair keyPair = new RsaKeyPair();
        keyPair.PrivateKey = PRIVATE_KEY;
        keyPair.PublicKey = PUBLIC_KEY;

        string address = "1234 Any Street";
        string encryptedAddress = CryptUtils.Encrypt(keyPair.PublicKey, address, RsaKeyLengths.Bit2048);
        string decryptedAddress = CryptUtils.Decrypt(keyPair.PrivateKey, encryptedAddress, RsaKeyLengths.Bit2048);
    }
}
类程序{
常量字符串PUBLIC_KEY=“5/tn3eY3KpQUvlJ3u…”;
常量字符串PRIVATE_KEY=“5/tn3eY3KpQUvlJ3u…”;
静态void Main(字符串[]参数){
RsaKeyPair keyPair=新的RsaKeyPair();
keyPair.PrivateKey=私钥;
keyPair.PublicKey=公钥;
string address=“1234任何街道”;
字符串encryptedAddress=CryptUtils.Encrypt(keyPair.PublicKey,address,rsakeyLength.Bit2048);
string decryptedAddress=CryptUtils.Decrypt(keyPair.PrivateKey,encryptedAddress,rsakeyLength.Bit2048);
}
}

按设计加密使用不同的随机填充,产生不同的加密值,从而降低易受明文攻击的程度。唯一重要的是,使用私钥将其解密回其原始值