crypt

PHP字符串加密解密

白昼怎懂夜的黑 提交于 2020-08-08 04:28:12
/** * 字符串加密、解密函数 * @param string $string 字符串 * @param string $operation ENCODE为加密,DECODE为解密,可选参数,默认为ENCODE, * @param string $key 密钥:数字、字母、下划线 * @param int $expiry 过期时间 * @return string */ function str_crypt($string, $operation = 'ENCODE', $key = '', $expiry = 0) { $key_length = 4; $key = md5($key != '' ? $key : KEY); $fixedkey = md5($key); $egiskeys = md5(substr($fixedkey, 16, 16)); $runtokey = $key_length ? ($operation == 'ENCODE' ? substr(md5(microtime(true)), -$key_length) : substr($string, 0, $key_length)) : ''; $keys = md5(substr($runtokey, 0, 16) . substr($fixedkey, 0, 16) . substr(

PHP三个常用的加密函数

廉价感情. 提交于 2020-07-24 00:05:02
PHP加密函数—md5()函数加密实例用法 MD5()函数是计算器字符串的 MD5散列值,使用MD5的算法,MD5的全称是Message-Digest Algorithm 5,它的作用是把不同长度的数据信息经过一系列的算法计算成一个 128 位的数值,就是把一个任意长度的字节串变成一定长的大整数。注意这里说的是“字节串”,而不是“字符串”,因为这种变换只与字节的值有关系,与字符集或者编码方式并无关。 第二个参数如果设置为true,那么函数就会返回一个二进制形式的密文,该参数默认为 false。 在很多的网站中,注册用户名的密码都是使用 MD5加密,然后再保存到数据库的,用户名登录的时候,程序把用户输入的密码算成MD5值,然后再去和数据库中保存的MD5值进行比较,在这个过程中呢,程序自身都不会“知道”用户的真实密码,从而保证了注册用户的个人隐私,提高了安全性。 下面实例实现注册和登录的功能,通过MD5加密后,保存数据库,具体步骤如下: 第一步: 创建conn.php文件,完成与数据库的链接: <? php header ("Content-Type:text/html;charset=utf-8" ); $conn = mysqli_connect ('localhost','root','123456') or die ('数据库连接失败'. mysqli_error ());

[转载]手把手用C++解密Chrome80版本数据库

ぐ巨炮叔叔 提交于 2020-05-08 15:33:06
谷歌浏览器Google Chrome 80正式版例行更新详细版本80.0.3987.163。Google Chrome浏览器又称谷歌浏览器采用Chromium内核全球最受欢迎的免费网页浏览器追求速度、隐私安全的网络浏览器。 先说下吧。chrome80以前的版本是直接可以通过DPAPI来进行解密的。关于DPAPI 大家可以 看这里的介绍 DPAPI是Windows系统级对数据进行加解密的一种接口无需自实现加解密代码微软已经提供了经过验证的高质量加解密算法提供了用户态的接口对密钥的推导存储数据加解密实现透明并提供较高的安全保证 DPAPI提供了两个用户态接口`CryptProtectData`加密数据`CryptUnprotectData`解密数据加密后的数据由应用程序负责安全存储应用无需解析加密后的数据格式。但是加密后的数据存储需要一定的机制因为该数据可以被其他任何进程用来解密当然`CryptProtectData`也提供了用户输入额外`数据`来参与对用户数据进行加密的参数但依然无法放于暴力破解。 总体来说程序可以使用DPAPI来对自己敏感的数据进行加解密也可持久化存储程序或系统重启后可解密密文获取原文。如果应用程序对此敏感数据只是暂存于内存为了防止被黑客dump内存后进行破解也对此数据无需进行持久化存储微软还提供了加解密内存的接口`CryptProtectMemory`和

Nginx auto_index和auth_basic

杀马特。学长 韩版系。学妹 提交于 2020-05-06 02:13:49
Nginx auto_index和auth_basic 1、nginx auto_index nginx站点目录浏览功能,默认情况下为关闭 启用或禁用目录列表输出 开启这个功能的前提是站点目录下没有首页index.html 官方说明: http://nginx.org/en/docs/http/ngx_http_autoindex_module.html 语法Syntax: autoindex on | off; 默认值Default: autoindex off; 使用字段Context: http(全局选项), server(单个网站选项), location(针对单个location) 使用范围:分享文件,搭建yum源等 1.1 在http下开启 http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; autoindex on; server { 省略其他内容 1.2 在location下开启 location / { autoindex on; 省略其他内容 } 1.3 在server下开启 server { listen 80; server_name localhost; autoindex on; location

bytectf2019 boring_code的知识学习&&无参数函数执行&&上海市大学生CTF_boring_code+

て烟熏妆下的殇ゞ 提交于 2020-04-27 08:33:13
参赛感悟 第三次还是第二次参加这种CTF大赛了,感悟和学习也是蛮多的,越发感觉跟大佬的差距明显,但是还是要努力啊,都大三了,也希望出点成绩。比赛中一道WEB都没做出来,唯一有点思路的只有EZCMS,通过哈希扩展攻击,进入admin。但是对于Phar的反序列化让我无所适从,找不到任何的利用点,干看着似乎有反序列化的利用点,却一头雾水。还是学习的太少,boring_code这道题的bypass方法也受益颇多。 boring_code 题目: <? php function is_valid_url( $url ) { if (filter_var( $url , FILTER_VALIDATE_URL)) { if ( preg_match ('/data:\/\//i', $url )) { return false ; } return true ; } return false ; } if ( isset ( $_POST ['url' ])){ $url = $_POST ['url' ]; if (is_valid_url( $url )) { $r = parse_url ( $url ); if ( preg_match ('/baidu\.com$/', $r ['host' ])) { $code = file_get_contents ( $url ); if (

C#, Java, PHP, Python和Javascript几种语言的AES加密解密实现

北战南征 提交于 2020-04-25 01:43:47
特别提示:本人博客部分有参考网络其他博客,但均是本人亲手编写过并验证通过。如发现博客有错误,请及时提出以免误导其他人,谢谢!欢迎转载,但记得标明文章出处: http://www.cnblogs.com/mao2080/ 1、问题描述   在与C同事调试的时候发现,Java加密的文件,C语言解析不了,后面找了很多才找到解决方案。 2、操作方法   1、Java加密解密 import javax.crypto.Cipher; import javax.crypto.spec.IvParameterSpec; import javax.crypto.spec.SecretKeySpec; import org.junit.Test; ... @Test public void testCrossLanguageEncrypt() throws Exception{ System.out.println(encrypt()); System.out.println(desEncrypt()); } public static String encrypt() throws Exception { try { String data = "Test String"; String key = "1234567812345678"; String iv = "1234567812345678"

二、Linux用户身份

时光总嘲笑我的痴心妄想 提交于 2020-04-24 23:33:40
0.介绍: 管理员UID为0:系统的管理员用户。 系统用户UID为1~999: Linux系统为了避免因某个服务程序出现漏洞而被黑客提权至整台服务器,默认服务程序会有独立的系统用户负责运行,进而有效控制被破坏范围。 普通用户UID从1000开始:是由管理员创建的用于日常工作的用户。 注意 : UID是不能冲突的,而且管理员创建的普通用户的UID默认是从1000开始的(即使前面有闲置的号码)。 为了方便管理属于同一组的用户,Linux系统中还引入了用户组的概念。通过使用用户组号码(GID,Group IDentification),我们可以把多个用户加入到同一个组中,从而方便为组中的用户统一规划权限或指定任务。假设有一个公司中有多个部门,每个部门中又有很多员工。如果只想让员工访问本部门内的资源,则可以针对部门而非具体的员工来设置权限。例如,可以通过对技术部门设置权限,使得只有技术部门的员工可以访问公司的数据库信息等。 另外,在Linux系统中创建每个用户时,将自动创建一个与其同名的基本用户组,而且这个基本用户组只有该用户一个人。如果该用户以后被归纳入其他用户组,则这个其他用户组称之为扩展用户组。一个用户只有一个基本用户组,但是可以有多个扩展用户组,从而满足日常的工作需要。 1. useradd命令** useradd命令用于创建新的用户,格式为“useradd [选项] 用户名”。

第6课 Flash存储器和MTD驱动

时光怂恿深爱的人放手 提交于 2020-04-24 17:53:18
6.1 MTD MTD(memory technology device内存技术设备) 在硬件和文件系统之间提供了一个抽象的接口。 6.1.1 MTD 驱动 接下来,我们在uClinux下实现MTD,进入目录:cd /work/uClinux-dist/linux-2.4.x/drivers/mtd/maps 修改config.in文件:sudo gedit Config.in,在endmenu前添加一行: dep_tristate ' CFI Flash device mapped on myboard_flash' CONFIG_MTD_MYFLASH $CONFIG_MTD_CFI,如下图: 保存退出。 然后再该目录下添加myflash.c文件。下面链接里有flash.c文件,直接使用。 https://pan.baidu.com/disk/home?errno=0&errmsg=Auth%20Login%20Sucess&&bduss=&ssnerror=0&traceid=#/all?vmode=list&path=%2F%E5%B5%8C%E5%85%A5%E5%BC%8F%E7%B3%BB%E7%BB%9F%E8%B5%84%E6%96%99%2Flesson%2F%E8%B5%84%E6%96%99%2Flesson%206 在该路径下修改Makefile文件

求助:hmailserver+roundcube启用密码插件后,用户无法修改密码问题

旧时模样 提交于 2020-03-22 23:40:54
环境 windows 8 apache:httpd-2.4.25-x64-vc14-r1 mysql:5.6 php:php-7.1.5-Win32-VC14-x64 hmailserver:hMailServer-5.6.7-B2407 roundcube:roundcubemail-1.2.5-complete 搭建成功,可以正常使用,收发邮件,但就是在修改密码时发生错误,提示“无法保存新密码”。而我又发现,但新密码与旧密码相同时,则提示修改密码成功。无论怎样修改配置文件中的SQL语句,只要新旧密码一样,都会提示修改成功,貌似UPDATE语句根本没有发生作用。目前纠结困惑中,网上查的方法都试过了,均无结果,求大神指点,不胜感激。 以下密码插件配置config.inc.php: <?php // Password Plugin options // ----------------------- // A driver to use for password change. Default: "sql". // See README file for list of supported driver names. $config['password_driver'] = 'sql'; // Determine whether current password is

PHP加密函数

允我心安 提交于 2020-03-03 00:47:02
PHP中的加密方式有如下几种 1. MD5加密 string md5 ( string $str [, bool $raw_output = false ] ) 参数 str -- 原始字符串。 raw_output -- 如果可选的 raw_output 被设置为 TRUE,那么 MD5 报文摘要将以16字节长度的原始二进制格式返回。 这是一种不可逆加密,执行如下的代码 $password = '123456'; echo md5($password); 得到结果是e10adc3949ba59abbe56e057f20f883e 2. Crype加密 string crypt ( string $str [, string $salt ] ) crypt() 返回一个基于标准 UNIX DES 算法或系统上其他可用的替代算法的散列字符串。 参数 str -- 待散列的字符串。 salt -- 可选的盐值字符串。如果没有提供,算法行为将由不同的算法实现决定,并可能导致不可预料的结束。 这是也一种不可逆加密,执行如下的代码 复制代码 代码如下: $password = '123456'; $salt = "test";// 只取前两个 echo crypt($password, $salt); 得到的结果是teMGKvBPcptKo 使用自动盐值的例子如下: 复制代码 代码如下: