1. 程式人生 > >Poco::Crypto--加解密_RSA Poco::Crypto--加解密(RSA)

Poco::Crypto--加解密_RSA Poco::Crypto--加解密(RSA)

Poco::Crypto--加解密(RSA)

1、簡單的加解密

複製程式碼
        Cipher::Ptr pCipher = CipherFactory::defaultFactory().createCipher(RSAKey(RSAKey::KL_1024, RSAKey::EXP_SMALL));
        std::string val("I love karen!");
        std::string enc = pCipher->encryptString(val);
        std::string dec = pCipher->decryptString(enc);
        std::cout<<"加密後:"<<enc<<std::endl;
        std::cout<<"解密後:"<<dec<<std::endl;
複製程式碼

2、用公私鑰加解密

複製程式碼
        std::istringstream str(anyPem);
        X509Certificate cert(str);
        RSAKey publicKey(cert);
        std::istringstream str2(anyPem);
        RSAKey privateKey(0, &str2, "test");
        Cipher::Ptr pCipher = CipherFactory::defaultFactory().createCipher(publicKey);
        Cipher::Ptr pCipher2 = CipherFactory::defaultFactory().createCipher(privateKey);
        std::string val("lets do some encryption");

        std::string enc = pCipher->encryptString(val);
        std::string dec = pCipher2->decryptString(enc);
        std::cout<<"加密後:"<<enc<<std::endl;
        std::cout<<"解密後:"<<dec<<std::endl;

1、簡單的加解密

複製程式碼
        Cipher::Ptr pCipher = CipherFactory::defaultFactory().createCipher(RSAKey(RSAKey::KL_1024, RSAKey::EXP_SMALL));
        std::string val("I love karen!");
        std::string enc = pCipher->encryptString(val);
        std::string dec = pCipher->decryptString(enc);
        std::cout<<"加密後:"<<enc<<std::endl;
        std::cout<<"解密後:"<<dec<<std::endl;
複製程式碼

2、用公私鑰加解密

複製程式碼
        std::istringstream str(anyPem);
        X509Certificate cert(str);
        RSAKey publicKey(cert);
        std::istringstream str2(anyPem);
        RSAKey privateKey(0, &str2, "test");
        Cipher::Ptr pCipher = CipherFactory::defaultFactory().createCipher(publicKey);
        Cipher::Ptr pCipher2 = CipherFactory::defaultFactory().createCipher(privateKey);
        std::string val("lets do some encryption");

        std::string enc = pCipher->encryptString(val);
        std::string dec = pCipher2->decryptString(enc);
        std::cout<<"加密後:"<<enc<<std::endl;
        std::cout<<"解密後:"<<dec<<std::endl;