1.Md5加密和Crypt都是单向加密:

登陆时把登录密码转为md5值,然后和数据库中的进行比较。

其中crypt中的盐值支持多种:
以CRYPT_STD_DES是以/0-9A-Za-z/中的两个字符为盐值,如果是以CRYPT_MD5中以$1$开始的12个字符的字符串盐值
例如:crypt('imooc','this is zmj')就会只取th为盐值和加密后的imooc拼接。
 
2.sha1加密算法:也是单向加密

3.URL编码加密技术:

区别:urlencode把空格变成了+,经过rawurlencode是把空格变成了%20

url编码用途:可以编码汉字,还可以针对url传参数时,参数的值为abd&dff形式
 
4.

这样就可以输出图片
 
总结:

//加密字符串

 1 function encrypt($encrypt,$key="key") {
 2
 3     $iv = mcrypt_create_iv ( mcrypt_get_iv_size ( MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB ), MCRYPT_RAND );
 4
 5     $passcrypt = mcrypt_encrypt ( MCRYPT_RIJNDAEL_256, $key, $encrypt, MCRYPT_MODE_ECB, $iv );
 6
 7     $encode = base64_encode ( $passcrypt );
 8
 9     return $encode;
10
11 }

//解密字符串

1 function decrypt($decrypt,$key="key") {
2     $decoded = base64_decode ( $decrypt );
3     $iv = mcrypt_create_iv ( mcrypt_get_iv_size ( MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB ), MCRYPT_RAND );
4     $decrypted = mcrypt_decrypt ( MCRYPT_RIJNDAEL_256, $key, $decoded, MCRYPT_MODE_ECB, $iv );
5     return $decrypted;
6
7 }

1.mcrypt简单介绍

PHP程序员们在编写代码程序时,除了要保证代码的高性能之外,还有一点是非常重要的,那就是程序的安全性保障。PHP除了自带的几种加密函数外,还有功能更全面的PHP加密扩展库McryptMhash

其中,Mcrypt扩展库可以实现加密解密功能,就是既能将明文加密,也可以密文还原。

mcrypt 是 php 里面重要的加密支持扩展库,linux环境下:该库在默认情况下不开启。window环境下:PHP>=5.3,默认开启mcrypt扩展。

2.支持的算法和加密模式

Mcrypt库支持20多种加密算法和8种加密模式,具体可以通过函数mcrypt_list_algorithms()和mcrypt_list_modes()来显示[1]

加密算法

Mcrypt支持的算法有:

cast-128

gost

rijndael-128

twofish

arcfour

cast-256

loki97

rijndael-192

saferplus

wake

blowfish-compat

des

rijndael-256

serpent

xtea

blowfish

enigma

rc2

tripledes

加密模式

Mcrypt支持的加密模式有:

cbc

cfb

ctr

ecb

ncfb

nofb

ofb

stream

这些算法和模式在应用中要以常量来表示,写的时候加上前缀MCRYPT_和MCRYPT_MODE_来表示,如下面Mcrypt应用的

转载于:https://www.cnblogs.com/redfire/p/7695802.html

PHP中几种加密形式相关推荐

  1. golangsha1解码_golang中几种加密方式的处理

    缘由 在与第三方平台进行接入的时候,通常会存在一些签名或者加密的处理,在进行开发的时候,因为语言的 不同,需要按照规范进行相应处理. DES加解密 golang中的标准库crypto/des中有DES ...

  2. asp.net ajax怎样传值,JQuery在asp.net中三种ajax传值

    1)通过webservice,注意去掉注释[System.Web.Script.Services.ScriptService]这行前的注释 2)通过aspx.cs文件中的静态方法 3)通过aspx文件 ...

  3. 详解密码学中几种常见密码加密与解密

    目录 题目 凯撒加密法 代码实现 维吉尼亚密码 栅栏密码 矩阵置换密码 点击直接资料领取 题目 11.已知明文:MEET ME AFITER THE TOGO PARTY,分别用以下方法加密,写出加密 ...

  4. 《从零开始学Swift》学习笔记(Day 7)——Swift 2.0中的print函数几种重载形式

    原创文章,欢迎转载.转载请注明:关东升的博客 Swift 2.0中的print函数有4种重载形式: print(_:).输出变量或常量到控制台,并且换行. print(_:_:).输出变量或常量到指定 ...

  5. swoolephp加密_PHP中给源代码加密的几种方法

    商业使用推荐 Swoole Compiler 代码加密 以下是如何通过PHP的自定义函数来加密我们的PHP源代码 方法一 function encode_file_contents($filename ...

  6. 雅虎金融目前在其IOS应用中提供4种加密货币的交易服务

    点击上方"蓝色字"可关注我们! 暴走时评:作为全球最大的金融资讯网站之一,雅虎金融在其IOS应用上添加了一项新功能,允许4种加密货币的交易.同时计划将该服务扩展到安卓.电脑桌面以及 ...

  7. PHP中的6种加密方式

    PHP中的6种加密方式 1. MD5加密 string md5 ( string $str [, bool $raw_output = false ] ) 参数 str  --  原始字符串. raw ...

  8. LaTeX中三种列举的形式:itemize,enumerate,description

    文章目录 itemize       分条目 enumerate     编号 description     描述 LaTeX中三种列举的形式:itemize和enumerate还有descript ...

  9. Java中main方法的6种声明形式

    前记:今天刷牛客,遇到了这道题目,平时只见到第一种,没想到居然可以有多种形式.在此记下,谨记共勉. Java中main方法的6种声明形式: 第一种,最常规形式 public static void m ...

最新文章

  1. Google学术分析公司科研实力:谷歌1161,华为110,为何差10倍?
  2. 深度学习几种典型架构
  3. Android studio听云接入另外一种方式
  4. python软件安装步骤-Linux中Python 环境软件包安装步骤
  5. java中ssh如何理解
  6. 项目管理自动化实践之路
  7. Swipper.js实现轮播功能
  8. ==与equal在java中应用的感悟
  9. mysql 图片base64_关于图片的Base64编码
  10. java生成图片验证码
  11. 贪 心 学用markdown
  12. win11如何加快搜索速度 Windows11更改文件索引加快搜索速度的设置方法
  13. jQuery对象与DOM对象之间的转换
  14. 油耗虚高保养贵,便宜车就活该问题多多?
  15. 本科毕业论文答辩ppt模板
  16. 货币银行学简答论述题
  17. win10彻底关闭更新
  18. OpenCV学习第十三篇:提取水平和垂直线(去除干扰线)
  19. 最in [IN词] 分享
  20. CTF crypto(一)一些简单的编码与加密

热门文章

  1. php 超全局变量(整理)
  2. struts标签传值
  3. 电脑常用的几个快捷键
  4. 如何解决Silverlight InitializeError #2103 - Invalid or malformed application: Check manifest
  5. Why Java Sucks and C# Rocks(3):Attribute与Annotation
  6. linux编辑器翻页,Linux的Vim编辑器的使用Part1:输入模式、移动光标和翻页
  7. KVM中I/O设备直接分配和SR-IOV(十六)
  8. C++中sizeof问题
  9. redis 查看key的有效期_你经常忽略的Redis常见面试题,精选给你整理
  10. Linux脚本选题背景,shell实例100例《一》