加密解密

转载 2015年11月18日 08:57:52

计应134班彭海辉

PHP crypt() 函数

定义和用法

crypt() 函数返回使用 DES、Blowfish 或 MD5 算法加密的字符串。

在不同的操作系统上,该函数的行为不同,某些操作系统支持一种以上的算法类型。在安装时,PHP 会检查什么算法可用以及使用什么算法。

具体的算法依赖于 salt 参数的格式和长度。通过增加由使用特定加密方法的特定字符串所生成的字符串数量,salt 可以使加密更安全。

这里有一些和 crypt() 函数一起使用的常量。这些常量值是在安装时由 PHP 设置的。

在该函数支持多种算法的系统上,如果支持上述常量则设置为 "1",否则设置为 "0"。

复制代码
<?php
// 两字符 salt
if (CRYPT_STD_DES == 1)
{
echo "Standard DES: ".crypt('something','st')."\n<br>";
}
else
{
echo "Standard DES not supported.\n<br>";
}

// 4 字符 salt
if (CRYPT_EXT_DES == 1)
{
echo "Extended DES: ".crypt('something','_S4..some')."\n<br>";
}
else
{
echo "Extended DES not supported.\n<br>";
}

//以 $1$ 开始的 12 字符
if (CRYPT_MD5 == 1)
{
echo "MD5: ".crypt('something','$1$somethin$')."\n<br>";
}
else
{
echo "MD5 not supported.\n<br>";
}

// 以 $2a$ 开始的 Salt。双数字的 cost 参数:09. 22 字符
if (CRYPT_BLOWFISH == 1)
{
echo "Blowfish: ".crypt('something','$2a$09$anexamplestringforsalt$')."\n<br>";
}
else
{
echo "Blowfish DES not supported.\n<br>";
}

// 以 $5$ 开始的 16 字符 salt。周长的默认数是 5000。
if (CRYPT_SHA256 == 1)
{
echo "SHA-256: ".crypt('something','$5$rounds=5000$anexamplestringforsalt$')."\n<br>"; }
else
{
echo "SHA-256 not supported.\n<br>";
}

// 以 $5$ 开始的 16 字符 salt。周长的默认数是 5000。
if (CRYPT_SHA512 == 1)
{
echo "SHA-512: ".crypt('something','$6$rounds=5000$anexamplestringforsalt$');
}
else
{
echo "SHA-512 not supported.";
}
?>
复制代码

输出

复制代码
Standard DES: stqAdD7zlbByI
Extended DES: _S4..someQXidlBpTUu6
MD5: $1$somethin$4NZKrUlY6r7K7.rdEOZ0w.
Blowfish: $2a$09$anexamplestringforsaleLouKejcjRlExmf1671qw3Khl49R3dfu
SHA-256: $5$rounds=5000$anexamplestringf$KIrctqsxo2wrPg5Ag/hs4jTi4PmoNKQUGWFXlVy9vu9
SHA-512: $6$rounds=5000$anexamplestringf$Oo0skOAdUFXkQxJpwzO05wgRHG0dhuaPBaOU/
oNbGpCEKlf/7oVM5wn6AN0w2vwUgA0O24oLzGQpp1XKI6LLQ0.

相关文章推荐

基于opencv的相机之加密解密功能实现(十三)

简介   本篇是对实现图片处理功能:【加密解密】实现的记录。 实现原理   在图片上滑动的时候,会有红色画笔功能,用户可以在图片上画出想要加密的文字、图像等信息。 在初始化的时候,...

RSA加密解密及RSA签名和验证

///  /// RSA加密解密及RSA签名和验证///  public class RSACryption { public RSACryption() { }  #region RSA 加密解密 ...

漫谈加密解密算法

非对称加密算法:RSA 对称加密算法:DES,AES等 攻击类型: 1.短消息攻击 2.时序攻击 注意事项: 1.RSA算法是非常耗时的,一般只用来加密密钥或散列(比如数字签名原理). ...

C# AES 加密解密示例

AES 是一种对称加密算法。 相对非对称加密,对称加密解密过程速度更快, 适合大数据流实时加密解密。AES 被广泛应用于金融,政府等领域的网络传输。在这里分享一段用 .Net 自带框架 AES 算法调...

Enigma机密码加密解密的实现

题目描述 二战时期,德军使用了一套名为Enigma的密码系统,是一种基于字符映射的密码系统。它的工作原理如下: 使用者从键盘按下一个字母后,字母会先经过三个可以转动的轮盘,称为转子,每个转子...
  • kyoma
  • kyoma
  • 2016-07-08 08:41
  • 2009

【加密解密一】.cer && .p12 简介

最近在工作闲余之际,组长交代了一个重要的任务,怎么重要呢?到最后反正只是给了一张图片,图片内容如下:     当看到这幅图片的时候,自己反正是傻眼了,这是要干嘛?组长说:信息就这么多,你就尽可能...

java文件预览及加密解密的部分问题及解决方案

经过半个月的代码编写,再经过半个月的测试,文件加密解密及预览功能基本上全部实现了,当然,一些小的细节还有待修改。 遇到最大的麻烦还是:操作平台的切换导致的一系列问题,本地测试完全不bug,部署...

flash加密解密的相关知识

希望大家了解一些解密方面的东西,对自己的心血好好保护。最好的方法就是完全不给,一旦作品发布,必须做好被人破解的准备。另外,无论何时,不是技术相当人之间的交流性质的话,不要发论坛短消息或邮件和我讨论这一...

加密解密

标题:加密解密     Playfair密码由英国人发明,它使用方便而且可以让频度分析法失效,直到一战中才被破译。     其一变种方法如下:首先选择一个密钥单词(称为pair)(剔除重复...
  • sdzhr
  • sdzhr
  • 2017-03-19 15:48
  • 697

android之AES加密解密

aes加密的android/php通信
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)