当前位置: 首页 > news >正文

建材做网站好吗开发一个交友软件需要多少钱

建材做网站好吗,开发一个交友软件需要多少钱,备案中的网站信息怎么填,旺道seoQt RSA 加解密 完整使用 密钥格式#xff1a; pkcs#1pkcs#8 如何区分密钥对是PKCS1还是PKCS8#xff1f; 通常PKCS1密钥对的开始部分为#xff1a;-----BEGIN RSA PRIVATE KEY-----或 -----BEGIN RSA PUBLIC KEY-----。而PKCS8密钥对的开始部分为#xff1a;-----BEGIN…Qt RSA 加解密 完整使用 密钥格式 pkcs#1pkcs#8 如何区分密钥对是PKCS1还是PKCS8 通常PKCS1密钥对的开始部分为-----BEGIN RSA PRIVATE KEY-----或 -----BEGIN RSA PUBLIC KEY-----。而PKCS8密钥对的开始部分为-----BEGIN PRIVATE KEY----- 或 -----BEGIN ENCRYPTED PRIVATE KEY----- 或-----BEGIN PUBLIC KEY-----。加解密方式 文件形式存储密钥内存形式存储密钥 #ifndef ENCIPHERMENT_H #define ENCIPHERMENT_H #includeQObject #includeopenssl/rsa.h #includeopenssl/pem.hclass RsaEncipherMent { public:explicit RsaEncipherMent();//密钥 以内存的形式存储QByteArray BioEncrypt(const QByteArray PlainData, const QByteArray Pubkey,bool pkcs1 false);QByteArray BioDecrypt(const QByteArray PlainData, const QByteArray Prikey);//密钥 以文件的形式存储QByteArray FileEncrypt(const QByteArray PlainData, const QByteArray pem_path,bool pkcs1 false);QByteArray FileDecrypt(const QByteArray PlainData, const QByteArray pem_path);//内存形式 pkcs8const QString public_key -----BEGIN PUBLIC KEY-----\nMFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBALmxDatSZ6vOkzQfXRUlJoR8mbiGOM7FxRX8WolGY3z/tT2CxLE0TFLDz2DcGMKBo68MNfkpCF0IsH9DimfHFMCAwEAAQ\n-----END PUBLIC KEY-----\n;const QString private_key -----BEGIN PRIVATE KEY-----\nMIIBVQIBADANBgkqhkiG9w0BAQEFAASCAT8wggE7AgEAAkEAubENq1Jnq86TNB9d FSUmhHyZuIY4zsXFFfxaiUZjfP1PYLEsTRMUsPPYNwYwoGjrww1SkIXT4iwf0OKZ8cUwIDAQABAkAoTg7qfdN0zjzTVm9s1Ih8v1LaY3/XGcRClmjMXRPhIHynq98B/03mBZOXDSGjOtvlLD2Tv70HmwBEHigMn3xAiEA7Vr603otCwBOfy8Pa1/gQqQSWBMLP4oUVw6Rwz6qcUsCIQDIRyhsNI6lBEpF9GQxneE/agG6bLKaA82cn9K1XKkGQIhAJRTpamgkSNt1qAeTZmBOckLdTc6922GoX1h6m9D6wmPAiEAucDFzRYx9vszqA4K5jn4YEiBsdZ/EDnWyh2x4GRAoECIAY4wKOCodXaL3W76zaqaiF4xlkOh2/vAMoVirqRNdGA\n-----END PRIVATE KEY-----\n;//内存形式 pkcs1const QString public_keypkcs1 -----BEGIN RSA PUBLIC KEY-----\nMEgCQQDBTs84K32azWD5PWx44QulreGUwZc1b4iOkwV8EBTw9w9P7vbfA0VN5W27A7ebhEJa287hm1hH/24mE1X5EWUxAgMBAAE\n-----END RSA PUBLIC KEY-----\n;const QString private_keypkcs1 -----BEGIN RSA PRIVATE KEY-----\nMIIBOwIBAAJBAMFOzzgrfZrNYPk9bHjhC6Wt4ZTBlzVviI6TBXwQFPD3D0/u9t8DRU3lbbsDt5uEQlrbzuGbWEf/biYTVfkRZTECAwEAAQJAK3WaZNhyPrFZ0e8bSfnecnsrMhRrFmA6/zlyMSc0Kd1/LzlTrCp90vJrEUbLio8BBBBu5QvqCJDCatNRvYAQIhAPwS5bJTp821w6MWz6CTdn2NNl/6OuOEU7vFMhojnrBAiEAxFGXtJWKFvTZHQgYTMRWQ1DHvjMsTxtYWabJUjotnECIQCwCl6BKxjHIKhfkfIY9PJAy3LinV vTUlGGWSHbgwQIhAMEB3SMVjcuoKBBHZpDER6F33fXmifD8W8Uztauo9MhAiA0r1z3wnJNvyQuxduIhh6G9cCX6RoFXW9cKA3mIy/yHA\n-----END RSA PRIVATE KEY-----\n; }; #endif // ENCIPHERMENT_H #includeEncipherMent.h extern C { #include openssl/applink.c }; RsaEncipherMent::RsaEncipherMent() {}QByteArray RsaEncipherMent::BioEncrypt(const QByteArray PlainData, const QByteArray Pubkey, bool pkcs1 /* false*/) {BIO* pKeyBio BIO_new_mem_buf(Pubkey.data(), Pubkey.size());if (pKeyBio NULL){return ;}RSA* pRsa RSA_new();if (pkcs1){//pkcs#1pRsa PEM_read_bio_RSAPublicKey(pKeyBio, pRsa, NULL, NULL);}else{//pkcs#8pRsa PEM_read_bio_RSA_PUBKEY(pKeyBio, pRsa, NULL, NULL);}if (pRsa NULL){BIO_free_all(pKeyBio);return ;}int nLen RSA_size(pRsa);QByteArray strEncryptData ;strEncryptData.resize(nLen); // 调整输出buf大小//加密int nSize RSA_public_encrypt(PlainData.size(),(uchar*)PlainData.data(),(uchar*)strEncryptData.data(),pRsa,RSA_PKCS1_PADDING);//释放内存BIO_free_all(pKeyBio);RSA_free(pRsa);return strEncryptData.toBase64(); }QByteArray RsaEncipherMent::BioDecrypt(const QByteArray PlainData, const QByteArray Prikey) {BIO* pKeyBio BIO_new_mem_buf(Prikey.data(), Prikey.size());if (pKeyBio NULL){return ;}RSA* pRsa RSA_new();pRsa PEM_read_bio_RSAPrivateKey(pKeyBio, pRsa, NULL, NULL);if (pRsa NULL){BIO_free_all(pKeyBio);return ;}int nLen RSA_size(pRsa);QByteArray strEncryptData ;strEncryptData.resize(nLen);//解密int nSize RSA_private_decrypt(PlainData.size(),(uchar*)PlainData.data(),(uchar*)strEncryptData.data(),pRsa,RSA_PKCS1_PADDING);//释放内存BIO_free_all(pKeyBio);RSA_free(pRsa);return strEncryptData.mid(0,nSize); }QByteArray RsaEncipherMent::FileEncrypt(const QByteArray PlainData, const QByteArray pem_path,bool pkcs1) {RSA * rsa NULL;FILE* fp NULL;char* en NULL;if((fp fopen((char*)pem_path.data(),rb)) NULL){return ;}if(pkcs1){if((rsa PEM_read_RSAPublicKey(fp, NULL, NULL, NULL)) NULL){return ;}}else{if((rsa PEM_read_RSA_PUBKEY(fp, NULL, NULL, NULL)) NULL){return ;}}int rsa_len RSA_size(rsa);QByteArray encode;encode.resize(rsa_len);int reasult RSA_public_encrypt(PlainData.size(), (unsigned char*)PlainData.data(), (unsigned char*)encode.data(), rsa, RSA_PKCS1_PADDING);if(reasult -1){return ;}RSA_free(rsa);return encode.toBase64();}QByteArray RsaEncipherMent::FileDecrypt(const QByteArray PlainData, const QByteArray pem_path) {RSA *rsa NULL;FILE*fp NULL;char*de NULL;int rsa_len 0;if((fp fopen(pem_path.data(),rb)) NULL){return read fail;}if((rsa PEM_read_RSAPrivateKey(fp, NULL, NULL, NULL)) NULL){return NULL;}rsa_len RSA_size(rsa);QByteArray decode;decode.resize(rsa_len);int reasult RSA_private_decrypt(PlainData.size(), (unsigned char*)PlainData.data(), (unsigned char*)decode.data(), rsa, RSA_PKCS1_PADDING);if( reasult-1){return ;}RSA_free(rsa);fclose(fp);return decode.mid(0,reasult);}密钥生成地址 https://uutool.cn/rsa-generate/ 代码地址 https://github.com/heisai/RsaEncipherMent/tree/master
http://www.huolong8.cn/news/88606/

相关文章:

  • 很多网站的微信登录怎么做怎么看网站做没做推广
  • 网站建设企业哪里好软件项目管理是什么
  • tp5被黑做的网站全变成首页优而思 网站
  • 咖啡网站模板html学会了vue 能搭建一个网站平台
  • 网站开发需要准备什么软件网页规划书怎么写
  • 济南 制作网站 公司吗福州网站开发定制
  • 深圳石岩小学网站建设安徽建筑工程信息网查询
  • 企业网站建设效果佛山做网站公司有哪些
  • 云南网站建设公司前十名高端企业网站建设蓦然郑州网站建设6
  • 如何做营销型单页网站wordpress主题安装后
  • 哪些网站可以做房产推广西昌seo
  • 网站开发的缓存技术建设网站 法律责任
  • 为什么网站设计很少全屏永顺网站建设
  • 北京网站建设 网络安全网站建站怎么报价
  • 互联网项目网站推广seo是什么意思
  • 可以看所有网站的浏览器静态淘宝网站制作模板
  • 做外贸网站如何wix做中文网站怎么样
  • 丽水做网站公司公司起名字大全免费4个字
  • php如何制作网站网络系统管理工作的主要内容
  • 网站开发建设用的软件网站开发的硬件环境是什么
  • 秦皇岛网站建设哪家好东莞模块网站建设方案
  • 一键制作网站wordpress获取文章时间
  • 汕尾市企业网站seo点击软件WordPress多功能主题Cosy
  • 浏阳市住房和城乡建设局的网站wordpress head
  • 杭州便宜的手机网站建设wordpress 审批
  • 漂亮的企业网站源码淮安网站网页设计
  • 美团后台管理系统登录seo关键词优化怎么做
  • 网站建设调查报告范文快速搭建网站2020
  • 中山网站建设咨询雄县做网站的
  • 网站做seo屏蔽搜索外贸网站建设需求