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加密相关的更多相关文章

  1. Docker入门教程(九)10个镜像相关的API

    Docker入门教程(九)10个镜像相关的API [编者的话]DockerOne组织翻译了Flux7的Docker入门教程,本文是系列入门教程的第九篇,重点介绍了镜像相关的Docker Remote ...

  2. python pyd 加密相关

    Dockerfile RUN 同时执行多条命令 Dokcerfile中的命令每执行一条即产生一个新的镜像,当前命令总是在最新的镜像上执行.如下Dockerfile: RUN cd /usr/share ...

  3. ios开发Base64编码以及加密相关学习

    一:.Base64补充 ```objc 1.Base64简单说明 描述:Base64可以成为密码学的基石,非常重要. 特点:可以将任意的二进制数据进行Base64编码 结果:所有的数据都能被编码为并只 ...

  4. iOS 10 开发 相机相关的适配

    升级 iOS 10 之后目测坑还是挺多的,记录一下吧,看看到时候会不会成为一个系列. 直入正题吧 今天在写 Swift 3 相关的一个项目小小练下手,发现调用相机,崩了.试试看调用相册,又特么崩了.然 ...

  5. JDK的KeyTool和KeyStore等加密相关

    Keytool是一个有效的安全钥匙和证书的管理工具. Java 中的 keytool.exe (位于JDK\Bin下)可以用来创建数字证书,所有的数字证书是以一条一条(用别名区别,不区分大小)地存储在 ...

  6. MD5加密相关

    demo效果

  7. 【微信公众号开发】【10】JSJDK相关

    前言: 1,优点:官方提供的,会调用后还算使用方便,不用费劲了解各个原生组件 缺点:使用上有限制(如:上传文件有大小限制),很容易踩坑,部分安卓手机及电脑端不支持pjax 总结:上手容易,坑很多 2, ...

  8. Linux命令应用大词典-第10章 Shell相关命令

    10.1 commond:抑制正常的Shell函数查找 10.2 exec:使用执行命令替换当前的shell进程 10.3 bash:GNU的Bourne-Again Shell解释器 10.4 bu ...

  9. Jmeter入门10 jmeter加密串处理方式2:BeanShell PreProcessor

    上一个博客讲了方式一:函数助手__digest加密,BeanShell PreProcessor也可以用java代码进行处理 线程组.参数.请求都直接使用上一个博客的. 第一步 添加BeanShell ...

随机推荐

  1. Apache配置 7.静态元素过期时间

    (1)介绍 那到底能缓存多久呢?如果服务器上的某个图片更改了,那么应该访问新的图片才对.这就涉及一个静态文件缓存时长的问题,也叫作"缓存过期时间".在httpd的配置文件中,我们是 ...

  2. C语言II博客作业02

    这个作业属于那个课程 https://edu.cnblogs.com/campus/zswxy/SE2020-4 这个作业要求在哪里 https://edu.cnblogs.com/campus/zs ...

  3. 怎么用Markdown在github上写书,并用pages展示

    怎么用git写书 安装环境 第一步 安装node npm 先检测自己电脑是否安装了node npm # 查看 node 版本 node -v # 查看 npm 版本 npm -v 复制代码 如果成功打 ...

  4. BIMFACE二次开发SDK 开源C#版

    [ BIMFace.SDK.CSharp ] 是基于微软.NET 技术封装的用于 BIMFACE 二次开发的通用类库.其中封装了BIMFace服务端API,包含基础API.文件上传API.文件转换AP ...

  5. Webpack 学习笔记(1) 开始

    目录 参考资料 1. 基础设定 2. 创建一个包 3. 使用配置文件完成打包命令 4. 使用 NPM Scripts 完成打包命令 参考资料 Getting Started | Webpack web ...

  6. codefoces D. Phoenix and Science

    原题链接:https://codeforc.es/problemset/problem/1348/D 题意:给你一个体重为一克的细菌(它可以每天进行一次二分裂即一分为二体重均分:晚上体重增加1克)求最 ...

  7. 对用pyinstaller打包的exe程序进行反编译,获得源码

    参考文章: 1.https://www.cnblogs.com/DirWang/p/12018949.html#PyInstallerExtractor 2.https://msd.misuland. ...

  8. java.lang.IllegalArgumentException: MALFORMED

    java.lang.IllegalArgumentException: MALFORMED at java.util.zip.ZipCoder.toString(ZipCoder.java:58) a ...

  9. springboot集成swagger实战(基础版)

    1. 前言说明 本文主要介绍springboot整合swagger的全过程,从开始的swagger到Knife4j的进阶之路:Knife4j是swagger-bootstarp-ui的升级版,包括一些 ...

  10. thinkphp 5.1框架利用及rce分析

    前言 上个学期钻研web渗透的时候接触过几个tp的框架,但那时候还没有写blog的习惯,也没有记录下来,昨天在做ctf的时候正好碰到了一个tp的框架,想起来就复现一下 正文 进入网站,标准笑脸,老tp ...