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

做网站开发的步骤/英文外链平台

做网站开发的步骤,英文外链平台,上海网站设计,网站的网页建设知识ppt模板作者:ghostry发布时间:2020-10-30浏览: 438转载注明出处: https://blog.ghostry.cn/program/1012.htmlPHP需要安装mcrypt扩展说明加密模式采用AES/CBC/PKCS7Padding注意:加密后的字节码使用Base64转换成字符串加密模式: CBC填充模式: PKCS7Pa…

作者:ghostry

发布时间:2020-10-30

浏览: 438

转载注明出处: https://blog.ghostry.cn/program/1012.html

PHP需要安装mcrypt扩展

说明

加密模式采用AES/CBC/PKCS7Padding

注意:加密后的字节码使用Base64转换成字符串加密模式: CBC

填充模式: PKCS7Padding

加密密钥: 用户密钥 SHA256 的32 bytes

AES IV : 加密密钥的前 16 bytes

Base 64: Base64.DEFAULT

加密过程:

加密:padding->CBC加密->base64编码

解密:base64解码->CBC解密->unpadding

AES加密结果基准测试:

用户密钥:909ed2d5fcf907c79fb9aa341a98febb65291c39

明文:AABBCC测试数据

密文:noMrTUS2A0YTcYaaPQSy9peqF6Mv/faMkI4yYHDvKjw=

实现代码<?php

class AesCrypter {

private $key = 'php1234567890';

private $iv;

public function __construct($key = '') {

if (!empty($key)) {

$this->key = $key;

}

$this->key = hash('sha256', $this->key, true);

$this->iv = substr($this->key, 0, 16);

}

public function encrypt($input) {

if (substr(PHP_VERSION, 0, 1) == '7') {

return $this->opensslEncrypt($input);

} else {

return $this->mcryptEncrypt($input);

}

}

public function decrypt($input) {

if (substr(PHP_VERSION, 0, 1) == '7') {

return $this->opensslDecrypt($input);

} else {

return $this->mcryptDecrypt($input);

}

}

/**

* [encrypt description]

* 使用mcrypt库进行加密

* @param [type] $orig_data

* @return [type]

*/

public function mcryptEncrypt($orig_data) {

$encrypter = mcrypt_module_open(MCRYPT_RIJNDAEL_128, '',

MCRYPT_MODE_CBC, '');

$orig_data = $this->pkcs7padding(

$orig_data, mcrypt_enc_get_block_size($encrypter)

);

mcrypt_generic_init($encrypter, $this->key, $this->iv);

$ciphertext = mcrypt_generic($encrypter, $orig_data);

mcrypt_generic_deinit($encrypter);

mcrypt_module_close($encrypter);

return base64_encode($ciphertext);

}

/**

* [decrypt description]

* 使用mcrypt库进行解密

* @param [type] $ciphertext

* @return [type]

*/

public function mcryptDecrypt($ciphertext) {

$encrypter = mcrypt_module_open(MCRYPT_RIJNDAEL_128, '',

MCRYPT_MODE_CBC, '');

$ciphertext = base64_decode($ciphertext);

mcrypt_generic_init($encrypter, $this->key, $this->iv);

$orig_data = mdecrypt_generic($encrypter, $ciphertext);

mcrypt_generic_deinit($encrypter);

mcrypt_module_close($encrypter);

return $this->pkcs7unPadding($orig_data);

}

public function pkcs7padding($data, $blocksize) {

$padding = $blocksize - strlen($data) % $blocksize;

$padding_text = str_repeat(chr($padding), $padding);

return $data . $padding_text;

}

public function pkcs7unPadding($data) {

$length = strlen($data);

$unpadding = ord($data[$length - 1]);

return substr($data, 0, $length - $unpadding);

}

/**

* [opensslDecrypt description]

* 使用openssl库进行加密

* @param [type] $sStr

* @return [type]

*/

public function opensslEncrypt($sStr) {

$str = base64_encode(openssl_encrypt($sStr, 'AES-256-CBC', $this->key, 1, $this->iv));

return $str;

}

/**

* [opensslDecrypt description]

* 使用openssl库进行解密

* @param [type] $sStr

* @return [type]

*/

public function opensslDecrypt($sStr) {

$str = openssl_decrypt(base64_decode($sStr), 'AES-256-CBC', $this->key, 1, $this->iv);

return $str;

}

}

测试代码$test = new AesCrypter("909ed2d5fcf907c79fb9aa341a98febb65291c39");

echo $test->encrypt("AABBCC测试数据") . "\n";

echo $test->decrypt("noMrTUS2A0YTcYaaPQSy9peqF6Mv/faMkI4yYHDvKjw=") . "\n";

标签: none

上一篇: 如何简单快速安装archlinux

下一篇: 从ubuntu迁移到popOS

http://www.jmfq.cn/news/4774789.html

相关文章:

  • 郑州中森网站建设/seo搜索引擎优化平台
  • 2023云南疫情最新消息今天/星巴克seo网络推广
  • 东莞建筑建设网站建设/网页制作接单
  • 做网站大公司有哪些/中国婚恋网站排名
  • 韶关网站设计公司/谷歌seo外链平台
  • 有哪些做留学资讯的网站/推推蛙seo顾问
  • wordpress文章模型插件/网站推广与优化方案
  • wordpress导出excel/seo专业推广
  • 江苏网站快速排名优化/怎么做一个小程序
  • 免费建设网站有哪些/网络推广方法
  • 低价企业网站搭建/软文推广服务
  • 做企业网站靠谱的/泉州关键词排名
  • 做的网站怎么放到网上/做百度推广效果怎么样
  • 用什么网站开发/软件推广
  • 网站开发 验收移交/产品推广文案
  • 内江住房和城乡建设厅网站/上海专业的seo推广咨询电话
  • 想做网站该怎么操作/网络营销方案的范文
  • 网站划分栏目/知乎seo排名帝搜软件
  • 做教育的有哪些网站/腾讯nba新闻
  • 涿州做软件和网站的/网站投放广告费用
  • 怎么找人做网站啊/长沙百度开户
  • 桂林景区网站建设策划方案/网推平台有哪些
  • 网站界面设计方案/怎样宣传自己的品牌
  • 网站首屏/网站优化推广价格
  • 手机浏览web网页/搜索seo是什么意思
  • 网站技术有哪些/best网络推广平台
  • 智慧团建网站登录入口官网/口碑营销有哪些方式
  • 开平网站建设/搜狗搜索引擎优化指南
  • asp做网站得多长时间/12345浏览器
  • 58怎么做自己的网站/软文发稿网站