草庐IT

c# - 不确定如何将 C# 加密函数移植到 PHP

我在C#中有一个基本的加密功能,我用它来加密和存储游戏的保存文件,它使用游戏网站的用户用户名和密码。最近我意识到,如果用户要更改他们的密码,这将导致他们的保存变得不可访问,因为它是用他们的旧密码加密的。所以,我正在尝试构建一个PHP函数,以便在他们更新密码时“重新转换”他们的保存。不幸的是,问题在于C#使用字节数组来执行散列,而PHP使用字符串,我不确定如何协调两者。这是一般过程:哈希用户名(到字节数组)散列密码(成字节数组)连接用户名+密码哈希值(成两倍长的字节数组)哈希结果得到key(返回256位长度)用key逐字节异或文件得到加密文件我不确定如何在PHP中完成此操作。我最初尝试使

php - 检查页面内容是否已更改的最佳方法?

我有一个爬虫程序可以爬取数十万个页面并索引/解析页面内容,我正在努力的一件事是检查页面内容是否已更新,以一种有效的方式,无需抓取它并检查页面内容。显然我可以加载整个页面,然后重新解析所有内容并将其与我存储在数据库中的内容进行比较。然而,这是非常低效的,并且会使用大量计算,从而导致高昂的托管费用。我正在考虑比较散列值,问题是如果页面更改了单个字节或字符,散列值就会不同。因此,例如,如果页面在页面上显示当前日期,则每次哈希都会不同,并告诉我内容已更新。那么……你会怎么做呢?你会看看HTML的kb大小吗?您会查看字符串长度并检查长度变化是否超过5%,内容是否已“更改”?或者是否存在某种散列算

php - 如何在 Python 中获取相同的 PHP adler32 哈希?

我需要生成由PHP生成的相同adler32哈希,但使用的是Python。不幸的是,标准实现不同。有什么想法吗?$php-r'printhash("adler32","bla")."\n";'02620130$python-c'importzlib;printzlib.adler32("bla");'39977264(我正在使用PHP5.5.9和Python2.7.6)此刻我已经使出了defphp_adler32(string):phpcode="""printhash("adler32","%s");"""%stringtry:rv=subprocess.check_output(['

php - 我应该如何在 CodeIgniter 中散列密码

我开始使用Codeigniter框架,他们在他们的新版本文档中说不要使用这个或任何其他加密库来存储用户密码!密码必须经过哈希处理,您应该通过PHP自己的密码哈希扩展来做到这一点。问题是我使用PHP5.3而该扩展需要5.5在PHP5.3中我应该使用什么进行哈希处理? 最佳答案 privatefunctionhash_password($password){returnpassword_hash($password,PASSWORD_BCRYPT);}publicfunctionregisterUser($username,$email

php - 如何在php中转义字符串中的哈希符号

PHP中如何转义哈希符号?我想做"DELETEFROM[#8:1]"但要让它工作我必须做"DELETEFROM[".'#'."8:1]”。虽然它有效,但看起来有点笨拙,有没有更好的方法来做到这一点? 最佳答案 使用单引号'DELETEFROM[#8:1]' 关于php-如何在php中转义字符串中的哈希符号,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/10105391/

php - 从 sha1 加盐密码验证用户登录

我有一个非常简单的登录/用户注册脚本,它使用sha1和salt存储密码。我的密码和用户创建工作正常,并且将所有内容都很好地存储在数据库中,但是当我尝试使用凭据登录时,它不起作用。搜索此主题时我似乎找不到任何内容。这是我的添加用户表单:session_start();include("includes/resume.config.php");//makesureformfieldshaveavalueandstripthemfunctioncheck_input($data,$problem=''){$data=trim($data);$data=stripslashes($data);

php - 如何使用 codeigniter 正确实现 PHPass 密码哈希?

我正在努力使用phpass在codeigniter中正确执行密码哈希。我已经将phpass密码哈希文件添加到codeigniter的库文件夹中,现在我不知道如何正确编写语句$t_hasher=newPasswordHash(8,FALSE);?你们能帮助正确的语法吗?这是我到目前为止所拥有的:functionpasswordTry(){$this->load->library('PasswordHash','null','passHash');$hasher=new$this->passHash->PasswordHash(8,FALSE);$hash=$hasher->HashPas

PHP password_hash() 与 Postgres crypt()

我正在使用Postgres9.3数据库作为Web应用程序的后端。我使用PHP5.5.7连接到数据库并为前端AJAX调用返回JSON。我正在尝试决定将用户身份验证逻辑放在哪里。我不是安全专家;但是,我熟悉PHP的新password_*()函数,并且非常了解幕后发生的事情。我也熟悉Postgres扩展pgcrypto和相关的crypt()函数。我的问题是,使用PHP或Postgres来散列密码是否有意义?我很好奇这些函数有何不同,所以我用PHP做了一个密码散列,然后将它交给Postgres,看看Postgres是否使用相同的算法。在给定相同参数的情况下,与PHP相比,Postgres返回了

php - 为什么PHP crypt函数使用DES加密算法?

鉴于经验法则是存储密码字符串的加盐哈希,而不是它的加密形式,为什么PHPcrypt()函数使用基于DES的算法?DES不是加密算法吗?手册说...crypt()willreturnahashedstringusingthestandardUnixDES-basedalgorithmoralternativealgorithmsthatmaybeavailableonthesystem...我从这里了解到,crypt()仅使用系统实现的算法。当然,DES是作为加密算法而不是crypt的自定义哈希算法来实现的。PS-我知道DES在过去很早以前就没有人应该再使用它了。

php - 检查字符串是否为 bcrypt 散列的最简单快捷的方法是什么?

我正在编写一个单元测试,它说用户密码应该使用bcrypt进行哈希处理。要断言这一点,我需要能够检查字符串是否看起来像bcrypt哈希。我找不到一个函数来告诉我对字符串使用了哪种哈希算法,除了正则表达式之外还有其他方法吗? 最佳答案 @JimLsoultion有点限制,有一个问题分解了bcrypt哈希的结构。$2a$[Cost]$[Base64Salt][Base64Hash]因此,根据您的应用程序,您可以断言bcrypt标识符$2a和生成的散列的所需成本。参见:https://stackoverflow.com/a/10933491