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

微营销网站建设坪山网站建设哪家便宜

微营销网站建设,坪山网站建设哪家便宜,建设网站远达,wordpress 换 ip通常加密密钥不要出现在源码中#xff0c;比如配置文件中的数据库密码等。解决方案通常采用将密钥存放在环境变量中#xff0c;进程启动时从环境变量获取密钥加载到内存中。 还有一种方案#xff0c;对密钥进行加密#xff0c;源码中只包含对密钥加密的根密钥和对密钥加密…通常加密密钥不要出现在源码中比如配置文件中的数据库密码等。解决方案通常采用将密钥存放在环境变量中进程启动时从环境变量获取密钥加载到内存中。 还有一种方案对密钥进行加密源码中只包含对密钥加密的根密钥和对密钥加密后的二次密钥如果不知道加密方式在编译出来的二进制文件中很难还原出真实的密钥。 安装依赖 cargo add base64 cargo add rust-cryptoAES128加解密算法 use base64::{engine::general_purpose, Engine as _}; use crypto::buffer::{BufferResult, ReadBuffer, WriteBuffer}; use crypto::{aes, blockmodes, buffer, symmetriccipher};pub fn aes128_cbc_encrypt(data: [u8],key: [u8],iv: [u8], ) - ResultVecu8, symmetriccipher::SymmetricCipherError {let mut encryptor aes::cbc_encryptor(aes::KeySize::KeySize128,key,iv,blockmodes::PkcsPadding,);let mut final_result Vec::u8::new();let mut read_buffer buffer::RefReadBuffer::new(data);let mut buffer [0; 4096];let mut write_buffer buffer::RefWriteBuffer::new(mut buffer);loop {let result encryptor.encrypt(mut read_buffer, mut write_buffer, true)?;final_result.extend(write_buffer.take_read_buffer().take_remaining().iter().map(|i| i),);match result {BufferResult::BufferUnderflow break,BufferResult::BufferOverflow {}}}Ok(final_result) }pub fn aes128_cbc_decrypt(encrypted_data: [u8],key: [u8],iv: [u8], ) - ResultVecu8, symmetriccipher::SymmetricCipherError {let mut decryptor aes::cbc_decryptor(aes::KeySize::KeySize128,key,iv,blockmodes::PkcsPadding,);let mut final_result Vec::u8::new();let mut read_buffer buffer::RefReadBuffer::new(encrypted_data);let mut buffer [0; 4096];let mut write_buffer buffer::RefWriteBuffer::new(mut buffer);loop {let result decryptor.decrypt(mut read_buffer, mut write_buffer, true)?;final_result.extend(write_buffer.take_read_buffer().take_remaining().iter().map(|i| i),);match result {BufferResult::BufferUnderflow break,BufferResult::BufferOverflow {}}}Ok(final_result) } base64编码得到二次密钥 将加密后的秘钥存放在配置文件中。 pub fn aes128_base64_encrypt(key: [u8],iv: [u8],plain_text: [u8], ) - String {let output aes128_cbc_encrypt(plain_text, key, iv).unwrap();general_purpose::STANDARD.encode(output) }base64解码获得真实的密钥 首先从配置文件中获取二次加密的秘钥解密获得真实的秘钥然后再用解密后的秘钥对密文进行解密 或 对明文进行加密。 pub fn aes128_base64_decrypt(key: [u8],iv: [u8],cipher_text: [u8], ) - ResultVecu8, symmetriccipher::SymmetricCipherError {let data general_purpose::STANDARD.decode(cipher_text).unwrap();aes128_cbc_decrypt(data, key, iv) } 单元测试 #[test] fn test_aes128_cbc() {let key get_random_key16();let iv generate_iv();// 加密let plain_text 1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ.to_string();let cipher_text aes128_base64_encrypt(key, iv, plain_text.as_bytes());// 加密let output aes128_base64_decrypt(key, iv, cipher_text.as_bytes()).unwrap();let plain_text_2 String::from_utf8(output).unwrap();assert_eq!(plain_text, plain_text_2); }
http://www.pierceye.com/news/559660/

相关文章:

  • 网站建设网站建什么网站做二手货车
  • 如何做淘宝客的网站网站建设 源代码
  • 建设部网站 造价全世界足球排名前十位
  • 有机农产品网站开发方案新闻资讯平台有哪些
  • wap网站建设哪家好酒店网络推广怎么做
  • 专业做电脑系统下载网站聚名网域名怎么备案
  • 赚钱的网站做任务南通优化网站价格
  • 个人能进行网站开发孟村网 网站
  • 上海公司做网站的韩国购物网站模板
  • 快速建站教程网视频网站开发分析
  • 一个公司的网站怎么做的北京信息网
  • 撰写网站建设技术解决方案招聘平面设计
  • 网站的数据备份和恢复我想开网站
  • 网站建设情况报告范文wordpress用户注册提醒
  • 湛江商城网站制作公司闵行建设机械网站
  • 做网站seo赚钱吗平面广告设计作品集
  • 购物中心网站建设六安政务中心网站
  • 做网站公司赚钱吗?抖音小程序推广怎么挂才有收益
  • 滁州网站建设建设银行租房平台网站6
  • h5自适应网站模板下载阿里云域名注册好了怎么做网站
  • 德州做网站多少钱网站实现搜索功能
  • 帝国cms7.0网站搬家换域名换空间等安装教程万网云虚拟主机上传网站
  • 网站建设推广接单语wordpress 所有文章
  • 申请域名后怎么做网站网站建设与维护中国出版社
  • 洛阳做网站那家好课程网站建设开题报告
  • 到哪里建网站商务网站建设学期总结
  • 铜陵app网站做营销招聘网站开发公司需要投入什么资源
  • 建购物的网站需要多少钱wordpress不显示头像
  • 如何做一个个人网站长春网站建设wang
  • 湖南省做网站的网站资讯建设