草庐IT

哈希表(HashTable)

全部标签

php - 在 PHP 中为设置长度 URL 缩短设计一个好的哈希函数

我正在研究URL缩短器。输入是一个URL,输出需要是一个4个字符的字符串(字母数字,区分大小写)。我计算得出,如果我使用4个字符和区分大小写的字母数字键空间,我应该能够存储64^4(16777216)个URL,直到我用完空间为止。我也不希望我的URL缩短器生成任何具有冒犯性的四个字母单词的短URL。如果有人制作了domain.com/f**k的短URL,那将是不幸的。你明白了……关于解决此问题的最佳方法有什么想法吗?我觉得我会在这个过程中的某个地方使用base64_encode。 最佳答案 如果我是你,我会制作一个区分大小写的字母数

php - 密码哈希在开发和实时服务器中不同

我刚刚安装了xampp,所以我可以离线测试我的网站。现在我收到许多undefinedindex或undefinedvariable错误,我知道如何修复。现在可以在线登录,但使用xampp则无法登录。代码没有错。我将数据库在线导入到离线。我已经指出出了什么问题,但不知道如何解决。这是我测试登录详细信息是否正确的代码。$Blowfish_Pre='$2a$05$';$Blowfish_End='$';$hashed_password=crypt($password,$Blowfish_Pre.$salt.$Blowfish_End);//checktoseeiftheymatchif($u

php blowfish 哈希与 crypt() : the CLI result differs from webserver's one

当我使用使用Blowfish算法的php函数crypt()时withweb-server:我得到这个结果:$2a$10$7711cbpe58dfpogiu0498u5Vh773A3qx.3LE3ro3NX7F9c9N7.pOm但是如果我使用PHP解释器命令行:php-r"echocrypt('SAD123',sprintf('$2a$10$%s','7711cbpe58dfpogiu049857f011werb0'));"我得到另一个结果:a0SqNHxQ8/2mA你有什么想法吗?系统是:Apache/2.2.3(CentOS),PHP版本5.4.26 最佳

php - 2checkout 总是返回哈希不匹配

我正在使用2co沙箱来测试这样的销售。我有这段代码来处理重新调整代码$hashSecretWord='testsecretword';//copiedfromsandboxaccount$hashSid='myAccountNumber';$hashTotal='50.00';$hashOrder=$_REQUEST['order_number'];echo$_REQUEST['key']."";echo$StringToHash=strtoupper(md5($hashSecretWord.$hashSid.$hashOrder.$hashTotal));网址http://www.d

php - 正则表达式将哈希封闭的 `##WORD=123##` 替换为方括号`[object word=123]`

我想用方括号替换主题标签,并在第一个方括号后添加一个词,所有字符串都需要小写。示例字符串:$str="Thisissometext##IDOBJECT=784##andanothersometext##IDOBJECT=1509####LATESTARTICLESHOME=321####IDOBJECT=321##";我想用[objectidobject=123]替换##IDOBJECT=123##格式的字符串。请注意,这里在第一个[括号和IDOBJECT字符串转换为idobject之后添加了额外的object词。我尝试使用此/(\##.*?\##)/正则表达式来查找这些字符串,但无法

php - 唯一值哈希 = 唯一哈希?

从理论上讲,对唯一值进行哈希处理会产生唯一值吗?假设我有一个包含2列的数据库表:id和code。id是一个自动递增的int,code是一个varchar。如果我这样做......$code=sha1($id);...然后将$code存储到与$id相同的行中。我的代码列也会是唯一的吗?如果我追加当前时间呢?例如:$code=sha1($id.time());谢谢。 最佳答案 一般来说,答案是否定的。这很容易证明:SHA-1有2^160个不同的输出-160位,但还有更多的输入(例如,有2^320个不同的40字节字符串,它们不能全部映射到

php - URL 的完美哈希函数

有谁知道适用于大多数URL的64位整数URL的完美哈希函数? 最佳答案 如果您事先不知道要查询的键集,就不可能创建完美的哈希函数。如果您知道这一点,那么您可以使用诸如gperf或cmph之类的工具为您生成完美的哈希函数。http://cmph.sourceforge.net/我假设一个完美的散列函数并不是您真正想要的,因此您使用任何合理的散列函数就足够了,例如murmur散列或bobjenkins散列,以及散列表实现,例如__gnu_cxx::hash_map或来自谷歌的dense_hash_map和sparse_hash_map。

php - 如何转换 torrent 信息哈希以进行抓取?

我有一个来自磁力链接的种子哈希。例如:fda164e7af470f83ea699a529845a9353cc26576当我尝试获取有关水蛭和同伴的信息时,我应该请求:http://tracker.publicbt.com/scrape?info_hash=???我应该如何转换此请求的信息哈希?是url编码还是becoding?如何?在PHP中。 最佳答案 这是一个原始的十六进制表示。使用pack()用H来转换它。然后对其进行URL编码。 关于php-如何转换torrent信息哈希以进行抓

php哈希密码创建

我想使用php创建一个商业网站,我想确保我拥有的用于用户散列密码的代码足够强大,可以避免暴力攻击。请注意,我的服务器及其php版本不支持blowfish,因此我正在尝试找出一种散列密码的合适方法。$pw="12341234";$salt='randomchars';$initial=sha1($pw);$hashed=md5($salt.$initial);还有什么我应该考虑的吗?任何想法将不胜感激! 最佳答案 你想要http://www.openwall.com/phpass/ 关于p

php - 对数组进行指纹识别的最快方法(从数据数组计算唯一哈希值)

我在我的WWW框架中使用了大量的API调用缓存和缓冲,我最终使用的其中一件事是“指纹识别”数据,以便匹配缓存文件名以及检测具有已经做好了。很多数据都是在数组中移动的,比如GET、POST等等。因此,API调用的唯一性取决于数据。因此我需要对这些信息进行指纹识别。要做到这一点,还需要从数据数组中生成一个“指纹”,并将其散列为一个我可以存储和比较的字符串。对于数组序列化,PHP中有serialize()和json_encode()。经过各种基准测试后,我认为json_encode()是序列化数组的更快方法,对此我感到非常满意。对于散列,有md5()和sha1()函数,根据我的基准测试,其中