在php中有一种方法可以从字符串中提供唯一的哈希值,但哈希值只是由数字组成的?
例:
return md5(234); // returns 098f6bcd4621d373cade4e832627b4f6
Run Code Online (Sandbox Code Playgroud)
但是我需要
return numhash(234); // returns 00978902923102372190
(20 numbers only)
Run Code Online (Sandbox Code Playgroud)
这里的问题是我希望哈希很短.
编辑: 好的,让我来解释这里的背景故事.我有一个网站,每个注册人都有一个ID,我也需要一个ID供该人使用和交换(因此不能太长),到目前为止ID编号为00001,00002,00003等. ..
要修复第1点和第2点,我需要"隐藏"数字,同时保持其唯一性.
数字哈希函数基于/sf/answers/1657590931/的代码
/**
* Return a number only hash
* https://stackoverflow.com/a/23679870/175071
* @param $str
* @param null $len
* @return number
*/
public function numHash($str, $len=null)
{
$binhash = md5($str, true);
$numhash = unpack('N2', $binhash);
$hash = $numhash[1] . $numhash[2];
if($len && is_int($len)) {
$hash = substr($hash, 0, $len);
}
return $hash;
}
// Usage …Run Code Online (Sandbox Code Playgroud) 我正在读取来自serialport的133个长度数据包,最后2个字节包含CRC值,2个字节值我使用java制作单个(我想).这就是我所做的,
short high=(-48 & 0x00ff);
short low=80;
short c=(short) ((high<<8)+low);
Run Code Online (Sandbox Code Playgroud)
但是我没有得到正确的结果,是因为签名有问题吗?我怎么能解决这个问题,请帮我解决这个问题
我在我的应用程序中打印Toast消息以显示通知但我想知道Toast.LENGTH_LONG和Toast.LENGTH_SHORT的值.我可以使用哪些其他值.
谁能告诉我这两个变量的价值是什么?
有迹象表明询问的区别许多问题short,并int在C++整数类型,但实际上,当你选择short了int?
我有一个检查空值的方法.有没有办法减少方法中的行数?目前,代码看起来"脏":
private int similarityCount (String one, String two) {
if (one == null && two == null) {
return 1;
} else if (one == null && two != null) {
return 2;
} else if (one != null && two == null) {
return 3;
} else {
if(isMatch(one, two))
return 4;
return 5;
}
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试将两个字节转换为无符号短路,以便我可以检索实际的服务器端口值.我是根据回复格式下的协议规范做出的.我尝试使用BitConverter.ToUint16(),但问题是,它似乎没有抛出预期值.请参阅下面的示例实现:
int bytesRead = 0;
while (bytesRead < ms.Length)
{
int first = ms.ReadByte() & 0xFF;
int second = ms.ReadByte() & 0xFF;
int third = ms.ReadByte() & 0xFF;
int fourth = ms.ReadByte() & 0xFF;
int port1 = ms.ReadByte();
int port2 = ms.ReadByte();
int actualPort = BitConverter.ToUInt16(new byte[2] {(byte)port1 , (byte)port2 }, 0);
string ip = String.Format("{0}.{1}.{2}.{3}:{4}-{5} = {6}", first, second, third, fourth, port1, port2, actualPort);
Debug.WriteLine(ip);
bytesRead += 6;
}
Run Code Online (Sandbox Code Playgroud)
给定一个样本数据,假设对于两个字节值,我有105和135,转换后的预期端口值应该是27015,而是使用BitConverter得到值34665.
我这样做是错误的吗?
是否有一个非常简单的压缩技术,用于长度不超过255个字符的字符串(是的,我正在压缩URL)?
我并不关心压缩的强度 - 我正在寻找一些性能非常好且能够快速实现的东西.我想要一些比SharpZipLib更简单的东西:可以用几个简短的方法实现的东西.
在django admin中,如果我们为list_display定义一个元素,我们可以为该short_description字段分配为
class PersonAdmin(admin.ModelAdmin):
list_display = ('upper_case_name','age')
def upper_case_name(self, obj):
return ("%s %s" % (obj.first_name, obj.last_name)).upper()
upper_case_name.short_description = 'Name'
Run Code Online (Sandbox Code Playgroud)
但是,如果我想改变年龄领域的简短描述怎么办?我希望将Age字段的标题显示为Person's Age相反Age.当然,我可以upper_case_name为每个字段编写自定义函数,但我认为这是一个糟糕的解决方案.
你能建议我做任何简单的方法吗?谢谢
在下面的代码段,在函数调用f(1),1是文字型的int并在第一功能void f(double d)参数类型是double和第二函数void f(short int i)参数类型是短整型.
这1是一个int不是double类型的类型,那么为什么编译器会产生模糊错误?
#include <iostream>
using namespace std;
void f(double d) // First function
{
cout<<d<<endl;
}
void f(short int i) // Second function
{
cout<<i<<endl;
}
int main()
{
f(1); // 1 is a literal of type int
return 0;
}
Run Code Online (Sandbox Code Playgroud) 前几天我错过了我的课堂讲座,我想知道是否有人可以解释短路是什么,也许是一个简单的Java程序中使用它的例子.谢谢你的帮助!