10.PHP加密相关
PHP加密函数
<?php
$str = 'This is an example!';
echo '1:'.$str.'<br>';
$crypttostr = crypt($str);
echo '2:'.$crypttostr.'<br>';
?>
1:Thisisanexample! .
2:$1$WQ1.nK..$sYGDz2NVVKAPeQT3J1OKw/
F5刷新每次都不一样,因为密码随机,下面是固定密码
<?php
$str = 'This is an example!';
echo '1:'.$str.'<br>';
$crypttostr = crypt($str ,'ma');
echo '2:'.$crypttostr.'<br>';
?>
<?php
$str = 'Thisisanexample!';
echo '1:'.$str.'<br>';
$crypttostr = md5($str);
echo '2:'.$crypttostr.'<br>';
?>
1:Thisisanexample!
2:ef7e5805358cf0c1e8b5beab5b025d0e
<?php
$str = 'Thisisanexample!';
echo '1:'.$str.'<br>';
$crypttostr = sha1($str);
echo '2:'.$crypttostr.'<br>';
?>
1:Thisisanexample!
2:ee7b7019ceef7b4122aa861450548f47e4aa591e
Mcrypt双向加密
获取算法和模式
<?php
$en_dir = mcrypt_list_algorithms();
echo 'Mcrypt Algorithm:';
foreach($en_dir as $en_value){
echo $en_value.",";
}
echo '<br>';
$en_mo = mcrypt_list_modes();
echo 'Mcrypt Modes:';
foreach($en_mo as $en_value){
echo $en_value.",";
}
?>
执行结果
McryptAlgorithm:
cast-128,gost,rijndael-128,twofish,cast-256,loki97,rijndael-192,saferplus,wake,blowfish-compat,des,rijndael-256,serpent,xtea,blowfish,enigma,rc2,tripledes,arcfour,
Mcrypt Modes:
cbc,cfb,ctr,ecb,ncfb,nofb,ofb,stream,
加解密(Mcrypt):
<?php
$str = "JiaMiZhiQian";
$key = "111";
$cipher = MCRYPT_DES;
$modes = MCRYPT_MODE_ECB;
$iv = mcrypt_create_iv(mcrypt_get_iv_size($cipher ,$modes) ,MCRYPT_RAND);
echo 'JMQ:'.$str.'<br>';
$str_encrytp = mcrypt_encrypt($cipher,$key,$str ,$modes ,$iv);
echo 'JMH:'.$str_encrytp.'<br>';
$str_decrypt = mcrypt_decrypt($cipher,$key,$str_encrytp ,$modes ,$iv);
echo 'HY:'.$str_decrypt.'<br>';
?>
Mhash扩展库
<?php
$num = mhash_count();
echo 'Mhash Algorithm:<br>';
for($i = 0 ;$i < $num ;$i ++){
echo $i."=>".mhash_get_hash_name($i)." ";
}
?>
Mhash Algorithm:
0=>CRC32 1=>MD5 2=>SHA1 3=>HAVAL256 4=> 5=>RIPEMD160 6=> 7=>TIGER 8=>GOST 9=>CRC32B 10=>HAVAL224 11=>HAVAL192 12=>HAVAL160 13=>HAVAL128 14=>TIGER128 15=>TIGER160 16=>MD4 17=>SHA256 18=>ADLER32 19=>SHA224 20=>SHA512 21=>SHA384 22=>WHIRLPOOL 23=>RIPEMD128 24=>RIPEMD256 25=>RIPEMD320 26=> 27=>SNEFRU256 28=>MD2 29=>FNV132 30=>FNV1A32 31=>FNV164 32=>FNV1A64
<?php
$filename = 'a.txt';
$str = file_get_contents($filename);
$hash = 2;
$password = '111';
$salt = '1234';
$key = mhash_keygen_s2k(1 ,$password ,$salt ,10);
$str_mhash = bin2hex(mhash($hash ,$str ,$key));
echo $str_mhash;
?>
10.PHP加密相关的更多相关文章
- Docker入门教程(九)10个镜像相关的API
Docker入门教程(九)10个镜像相关的API [编者的话]DockerOne组织翻译了Flux7的Docker入门教程,本文是系列入门教程的第九篇,重点介绍了镜像相关的Docker Remote ...
- python pyd 加密相关
Dockerfile RUN 同时执行多条命令 Dokcerfile中的命令每执行一条即产生一个新的镜像,当前命令总是在最新的镜像上执行.如下Dockerfile: RUN cd /usr/share ...
- ios开发Base64编码以及加密相关学习
一:.Base64补充 ```objc 1.Base64简单说明 描述:Base64可以成为密码学的基石,非常重要. 特点:可以将任意的二进制数据进行Base64编码 结果:所有的数据都能被编码为并只 ...
- iOS 10 开发 相机相关的适配
升级 iOS 10 之后目测坑还是挺多的,记录一下吧,看看到时候会不会成为一个系列. 直入正题吧 今天在写 Swift 3 相关的一个项目小小练下手,发现调用相机,崩了.试试看调用相册,又特么崩了.然 ...
- JDK的KeyTool和KeyStore等加密相关
Keytool是一个有效的安全钥匙和证书的管理工具. Java 中的 keytool.exe (位于JDK\Bin下)可以用来创建数字证书,所有的数字证书是以一条一条(用别名区别,不区分大小)地存储在 ...
- MD5加密相关
demo效果
- 【微信公众号开发】【10】JSJDK相关
前言: 1,优点:官方提供的,会调用后还算使用方便,不用费劲了解各个原生组件 缺点:使用上有限制(如:上传文件有大小限制),很容易踩坑,部分安卓手机及电脑端不支持pjax 总结:上手容易,坑很多 2, ...
- Linux命令应用大词典-第10章 Shell相关命令
10.1 commond:抑制正常的Shell函数查找 10.2 exec:使用执行命令替换当前的shell进程 10.3 bash:GNU的Bourne-Again Shell解释器 10.4 bu ...
- Jmeter入门10 jmeter加密串处理方式2:BeanShell PreProcessor
上一个博客讲了方式一:函数助手__digest加密,BeanShell PreProcessor也可以用java代码进行处理 线程组.参数.请求都直接使用上一个博客的. 第一步 添加BeanShell ...
随机推荐
- 翻译:《实用的Python编程》04_01_Class
目录 | 上一节 (3.6 设计讨论) | 下一节 (4.2 继承) 4.1 类 本节介绍 class 语句以及创建新对象的方式. 面向对象编程(OOP) 面向对象编程是一种将代码组织成对象集合的编程 ...
- Linux给防火墙开外网端口
/sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT 80:外网端口
- Intellij IDEA设置默认字符编码
file---settings--editor--file encoding里面设置
- RateLimiter源码解析
RateLimiter是Guava包提供的限流器,采用了令牌桶算法,特定是均匀地向桶中添加令牌,每次消费时也必须持有令牌,否则就需要等待.应用场景之一是限制消息消费的速度,避免消息消费过快而对下游的数 ...
- 微信小程序Animation动画的使用
目录 1,前言 2,属性 3,使用 1,前言 和css3动画不同,小程序中动画是主要是通过js控制的,简单来说就是创建一个动画实例animation.调用实例的方法来定义动画效果.最后通过动画实例的e ...
- 【图像处理】OpenCV+Python图像处理入门教程(四)几何变换
这篇随笔介绍使用OpenCV进行图像处理的第四章 几何变换. 4 几何变换 图像的几何变换是指将一幅图像映射到另一幅图像内.有缩放.翻转.仿射变换.透视.重映射等操作. 4.1 缩放 使用cv2. ...
- AppDomain实现【插件式】开发
前言: 近期项目中需要实现"热插拔"式的插件程序,例如:定义一个插件接口:由不同开发人员实现具体的插件功能类库:并最终在应用中调用具体插件功能. 此时需要考虑:插件执行的安全性(隔 ...
- [SpringCloud教程]2. 版本选型和项目搭建
Spring Cloud Alibaba 版本选型 建议先选择Spring Cloud Alibaba的大版本,方便兼容 选择 Spring Cloud Alibaba 大版本 访问链接,找到标题&q ...
- 高可用负载均衡 haproxy+keepalived
服务器 20.0.0.206 10.0.0.206 bs-hk-hk01 高可用负载均衡节点 2c2g 20.0.0.207 10.0.0.207 bs-hk-hk02 高可用负载均衡节点 ...
- 【CTF】图片隐写术 · 修复被修改尺寸的PNG图片
前言 今天我们想来介绍一下关于图片隐写相关处理,以及修复被修改尺寸的PNG图片. 关于PNG图片的相关处理,是CTF Misc图片隐写术中极为基础的一项操作,笔者这里是想要提一些做题过程中发现的小技巧 ...