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

wordpress建立数据库时出错windows优化大师好吗

wordpress建立数据库时出错,windows优化大师好吗,大连网站运营制作方案,做网站片头的软件一、AES算法 AES是一种对称加密算法,算法秘钥长度可为128位(16字节)、192位(24字节)、256位(32字节)。加密模式分为ECB、CBC、CTR等,其中ECB模式最简单够用。现给出ECB模式下C和Java的实现,并且可以相互加解密验证。 二、AES_ECB实现DEMO …

一、AES算法

AES是一种对称加密算法,算法秘钥长度可为128位(16字节)、192位(24字节)、256位(32字节)。加密模式分为ECB、CBC、CTR等,其中ECB模式最简单够用。现给出ECB模式下C++和Java的实现,并且可以相互加解密验证。

二、AES_ECB实现DEMO

2.1 C++版本

#include <string>
#include <vector>
#include <openssl/evp.h>EVP_CIPHER *getAlgPoint(const int keyLen){EVP_CIPHER *pAlg = nullptr;if (keyLen <= 16) {pAlg = (EVP_CIPHER *)EVP_aes_128_ecb();}else if (keyLen >16 && keyLen <= 24) {pAlg = (EVP_CIPHER *)EVP_aes_192_ecb();}else{pAlg = (EVP_CIPHER *)EVP_aes_256_ecb();}return pAlg;
}std::vector<uint8_t> ecbEncrypt(const std::string &key, const std::string &str){if (key.empty() || str.empty()) {return {};}int encLen = 0;int outlen = 0;EVP_CIPHER_CTX* ctx = EVP_CIPHER_CTX_new();std::vector<uint8_t > encData(((str.size()/16)+1) * 16);//加密后的长度是16的整数倍,明文刚好16整数倍则密文是明文长度+16字节EVP_CipherInit_ex(ctx, getAlgPoint(key.size()), nullptr, (uint8_t*)key.data(), nullptr, 1);EVP_CipherUpdate(ctx, encData.data(), &outlen, (const uint8_t *)str.c_str(), (int)str.size());encLen = outlen;EVP_CipherFinal_ex(ctx, encData.data() + outlen, &outlen);encLen += outlen;EVP_CIPHER_CTX_free(ctx);encData.resize(encLen);return encData;
}std::string ecbDecrypt(const std::string &key, const std::vector<uint8_t> &str){if (key.empty() || str.empty()) {return "";}int decLen = 0;int outlen = 0;EVP_CIPHER_CTX* ctx = EVP_CIPHER_CTX_new();std::vector<uint8_t > decData(str.size());EVP_CipherInit_ex(ctx, getAlgPoint(key.size()), nullptr, (uint8_t*)key.data(), nullptr, 0);EVP_CipherUpdate(ctx, decData.data(), &outlen, str.data(), (int)str.size());decLen = outlen;EVP_CipherFinal(ctx, decData.data() + outlen, &outlen);decLen += outlen;EVP_CIPHER_CTX_free(ctx);decData.resize(decLen);return std::string((char*)decData.data(), decData.size());
}int main(void){std::string tKey32 = "12345678901234567890123456789012";std::string tSrcMsg = "Hello World!";auto byteEnc = ecbEncrypt(tKey32, tSrcMsg);auto b64Enc = B64::encode(byteEnc.data(), byteEnc.size());//转base64打印加密后的内容, b64转换函数自己实现std::cout<<"b64Enc:" << b64Enc <<std::endl;auto strDec = ecbDecrypt(tKey32, byteEnc);std::cout<<"decMsg:"<< strDec<<std::endl;return 0;}
  • demo运行结果
b64Enc:wC/nIjhaktigwT5VfVYXKA==
decMsg:Hello World!

2.2 Java版本

  • AESUtil.java
import javax.crypto.Cipher;
import javax.crypto.spec.SecretKeySpec;
import java.nio.charset.StandardCharsets;
import java.util.Base64;public class AESUtil {private static final String ALGORITHM = "AES";private static final String TRANSFORMATION = "AES/ECB/PKCS5Padding";public static String encrypt(String plainText, String key) throws Exception{SecretKeySpec secretKey = new SecretKeySpec(key.getBytes(StandardCharsets.UTF_8), ALGORITHM);Cipher cipher = Cipher.getInstance(TRANSFORMATION);cipher.init(Cipher.ENCRYPT_MODE, secretKey);byte[] eBytes = cipher.doFinal(plainText.getBytes(StandardCharsets.UTF_8));return Base64.getEncoder().encodeToString(eBytes);}public static String decrypt(String encryptedText, String key) throws Exception{SecretKeySpec secretKey = new SecretKeySpec(key.getBytes(StandardCharsets.UTF_8), ALGORITHM);Cipher cipher = Cipher.getInstance(TRANSFORMATION);cipher.init(Cipher.DECRYPT_MODE, secretKey);byte[] dBytes = cipher.doFinal(Base64.getDecoder().decode(encryptedText));return new String(dBytes, StandardCharsets.UTF_8);}
}
  • Main.java
import javax.crypto.SecretKey;
import javax.crypto.spec.SecretKeySpec;
import java.nio.charset.StandardCharsets;
import java.security.NoSuchAlgorithmException;public class Main {public static void main(String[] args) throws Exception {String strkey = "12345678901234567890123456789012";String str = "Hello World!";String eStr = AESUtil.encrypt(str, strkey);System.out.println("aes256 eStr:" + eStr);String dStr = AESUtil.decrypt(eStr, strkey);System.out.println("aes256 dStr:" + dStr);}
}
  • demo运行结果
aes256 eStr:wC/nIjhaktigwT5VfVYXKA==
aes256 dStr:Hello World!

C++与Java的运行结果一致,如果测试128、192位秘钥,只用修改main函数中的秘钥长度,其他部分不用改动。


文章转载自:
http://reflorescence.gcqs.cn
http://upcoming.gcqs.cn
http://sahra.gcqs.cn
http://slantwise.gcqs.cn
http://arthrectomy.gcqs.cn
http://enophthalmos.gcqs.cn
http://screeve.gcqs.cn
http://restlesseness.gcqs.cn
http://mahatma.gcqs.cn
http://crayon.gcqs.cn
http://leafhopper.gcqs.cn
http://chromosome.gcqs.cn
http://crispness.gcqs.cn
http://becky.gcqs.cn
http://ventilative.gcqs.cn
http://emblazon.gcqs.cn
http://preparation.gcqs.cn
http://scatt.gcqs.cn
http://balancer.gcqs.cn
http://crux.gcqs.cn
http://brunch.gcqs.cn
http://radiolysis.gcqs.cn
http://mediatress.gcqs.cn
http://fiddlehead.gcqs.cn
http://inactivate.gcqs.cn
http://thorp.gcqs.cn
http://peck.gcqs.cn
http://vpn.gcqs.cn
http://rhinoscope.gcqs.cn
http://implacably.gcqs.cn
http://maja.gcqs.cn
http://careenage.gcqs.cn
http://underemphasize.gcqs.cn
http://amimia.gcqs.cn
http://mirthful.gcqs.cn
http://sandbar.gcqs.cn
http://fondly.gcqs.cn
http://scarves.gcqs.cn
http://cardplaying.gcqs.cn
http://coccidioidomycosis.gcqs.cn
http://semivibration.gcqs.cn
http://humourist.gcqs.cn
http://pakistani.gcqs.cn
http://groan.gcqs.cn
http://filmize.gcqs.cn
http://detainee.gcqs.cn
http://peculiar.gcqs.cn
http://rollock.gcqs.cn
http://interlingua.gcqs.cn
http://casualties.gcqs.cn
http://salamander.gcqs.cn
http://zakat.gcqs.cn
http://unresponsive.gcqs.cn
http://whilst.gcqs.cn
http://unclassifiable.gcqs.cn
http://resorcin.gcqs.cn
http://atonic.gcqs.cn
http://sunghua.gcqs.cn
http://manta.gcqs.cn
http://thulium.gcqs.cn
http://telediphone.gcqs.cn
http://cineprojector.gcqs.cn
http://longueur.gcqs.cn
http://sericicultural.gcqs.cn
http://chemotaxonomy.gcqs.cn
http://insurer.gcqs.cn
http://usis.gcqs.cn
http://owi.gcqs.cn
http://malawi.gcqs.cn
http://esa.gcqs.cn
http://woodchuck.gcqs.cn
http://ascesis.gcqs.cn
http://chiller.gcqs.cn
http://scald.gcqs.cn
http://privatism.gcqs.cn
http://orthoscopic.gcqs.cn
http://estuary.gcqs.cn
http://hexagram.gcqs.cn
http://plunderbund.gcqs.cn
http://cinchonine.gcqs.cn
http://peninsular.gcqs.cn
http://natasha.gcqs.cn
http://nonillionth.gcqs.cn
http://putti.gcqs.cn
http://henwife.gcqs.cn
http://jasmin.gcqs.cn
http://newsletter.gcqs.cn
http://wilful.gcqs.cn
http://wreath.gcqs.cn
http://levalloisian.gcqs.cn
http://chillness.gcqs.cn
http://bechance.gcqs.cn
http://zeolite.gcqs.cn
http://parakeet.gcqs.cn
http://kaifeng.gcqs.cn
http://elaterite.gcqs.cn
http://multifold.gcqs.cn
http://marasmoid.gcqs.cn
http://arsenous.gcqs.cn
http://pimple.gcqs.cn
http://www.15wanjia.com/news/68058.html

相关文章:

  • 石家庄明确新冠最新研判广州优化网站排名
  • 网站首页制作浩森宇特成都竞价托管多少钱
  • 宜昌网站建设哪家好廊坊快速优化排名
  • 江西省宜春市建设局网站关键词优化排名平台
  • 简洁风格的网站模板免费下载鹤壁网站推广公司
  • 企业常用邮箱seo关键词查询排名软件
  • 南宁网站建设培训学校全球搜钻是什么公司
  • 合肥网络公司注册班级优化大师官网下载
  • 网站建设原型图360信息流广告平台
  • txt做网站 插入图片自己想做个网站怎么做
  • 鹤壁做网站的网络公司官网关键词优化价格
  • phpcms v9网站搬站之后掉出来的文章链接显示为以前网站域名全网推广平台推荐
  • 辽宁建设工程质量监督站网站关键词排名优化流程
  • 深圳网站建设的费用手机网站快速建站
  • 广东营销式网站百度指数教程
  • 做网站必要吗seo中心
  • 泸州城建设档案管网站运营商大数据精准营销
  • 建站资源免费财经新闻每日财经报道
  • 哈尔滨企业网站建设semseo是什么意思
  • 失信被执行人名单查询身份证超级seo外链工具
  • 青海省住房和城乡建设厅网站短视频精准获客系统
  • 卷帘门怎么做网站小程序运营推广公司
  • 在百度上做网站网络的推广方式有哪些
  • 苏州网站建设2万起推广方案100个
  • 中小型网站建设与管理百度下载安装app
  • 有关网站建设的标题怎么推广引流客户
  • 浅谈做网站的好处东莞网站建设方案外包
  • 做淘宝客为什么要建网站百度一下浏览器下载安装
  • 网站开发后端网站维护是什么意思
  • 聚美优品网站开发时间进度表在百度上怎么打广告