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

房地产 网站 设计制作做网站应聘平台

房地产 网站 设计制作,做网站应聘平台,工商公示信息查询系统官网,网站建设托管pfthost一、AES算法 AES是一种对称加密算法#xff0c;算法秘钥长度可为128位(16字节)、192位(24字节)、256位(32字节)。加密模式分为ECB、CBC、CTR等#xff0c;其中ECB模式最简单够用。现给出ECB模式下C和Java的实现#xff0c;并且可以相互加解密验证。 二、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.hEVP_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::vectoruint8_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::vectoruint8_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::vectoruint8_t str){if (key.empty() || str.empty()) {return ;}int decLen 0;int outlen 0;EVP_CIPHER_CTX* ctx EVP_CIPHER_CTX_new();std::vectoruint8_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::coutb64Enc: b64Enc std::endl;auto strDec ecbDecrypt(tKey32, byteEnc);std::coutdecMsg: strDecstd::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://www.hkea.cn/news/14426635/

相关文章:

  • 怎么制作网站教程电商邮箱类网站模板
  • 网站后台发表文章海口网吧
  • 政务网站队伍建设情况汇报河北邯郸旅游景点
  • 网站分哪些类型广东软件开发公司
  • 杭州网站建设seo优化营销制作windows8风格网站模板
  • 保定哪里做网站泸州做网站公司
  • dw做网站导航条集宁网站建设SEO优化
  • 手机wap网站怎么做大学生活网页制作模板
  • 国内python 做的网站东莞饰品网站建设
  • 网站建设服务合同交印花税吗毕业设计模板网站
  • 做学校网站的目的企业建筑网站
  • wordpress站添加根部单页打不开上海哪家seo好
  • 写作网站5妙不写就删除自己做的网站与ie不兼容
  • 荆州做网站公司陈铭生简介
  • 大气黑色机械企业网站源码如何将百度地图加入网站
  • 亚马逊网站深圳手机商城网站设计价格
  • 如何形容一个网站做的好中小型网站建设机构
  • 如何进入公司网站的后台专业app开发设计的公司
  • 北京专业建设网站公司郑中设计事务所
  • 网站地图如何做生成wordpress博客app
  • 有什么做服装的网站好网站开发西安
  • 网站兼容ie7网站建设商城商城网站建设多少钱
  • 网站文案优化建站需要什么软件
  • 网站怎么做电脑系统下载软件厦门seo怎么做
  • 制作服务网站wordpress首页怎么打开很慢
  • 网站建设资金的请示新乡个人网站建设价格
  • 可以做彩票广告的网站吗做cpa用单页网站好还是
  • 昌平网站制作珠宝首饰网站源码
  • 裕华建设集团网站企业网站每年要多少钱
  • 自己怎样建企业网站肇庆seo按天收费