Add files via upload
This commit is contained in:
orang tua
8c6093c64e
melakukan
29219a2c82
|
@ -0,0 +1,28 @@
|
|||
SIZE_T StringLengthA(LPCSTR String)
|
||||
{
|
||||
LPCSTR String2;
|
||||
|
||||
for (String2 = String; *String2; ++String2);
|
||||
|
||||
return (String2 - String);
|
||||
}
|
||||
|
||||
UINT32 HashStringRotr32SubA(UINT32 Value, UINT Count)
|
||||
{
|
||||
DWORD Mask = (CHAR_BIT * sizeof(Value) - 1);
|
||||
Count &= Mask;
|
||||
#pragma warning( push )
|
||||
#pragma warning( disable : 4146)
|
||||
return (Value >> Count) | (Value << ((-Count) & Mask));
|
||||
#pragma warning( pop )
|
||||
}
|
||||
|
||||
INT HashStringRotr32A(PCHAR String)
|
||||
{
|
||||
INT Value = 0;
|
||||
|
||||
for (INT Index = 0; Index < StringLengthA(String); Index++)
|
||||
Value = String[Index] + HashStringRotr32SubA(Value, 7);
|
||||
|
||||
return Value;
|
||||
}
|
|
@ -0,0 +1,28 @@
|
|||
SIZE_T StringLengthW(LPCWSTR String)
|
||||
{
|
||||
LPCWSTR String2;
|
||||
|
||||
for (String2 = String; *String2; ++String2);
|
||||
|
||||
return (String2 - String);
|
||||
}
|
||||
|
||||
UINT32 HashStringRotr32SubW(UINT32 Value, UINT Count)
|
||||
{
|
||||
DWORD Mask = (CHAR_BIT * sizeof(Value) - 1);
|
||||
Count &= Mask;
|
||||
#pragma warning( push )
|
||||
#pragma warning( disable : 4146)
|
||||
return (Value >> Count) | (Value << ((-Count) & Mask));
|
||||
#pragma warning( pop )
|
||||
}
|
||||
|
||||
INT HashStringRotr32W(PWCHAR String)
|
||||
{
|
||||
INT Value = 0;
|
||||
|
||||
for (INT Index = 0; Index < StringLengthW(String); Index++)
|
||||
Value = String[Index] + HashStringRotr32SubW(Value, 7);
|
||||
|
||||
return Value;
|
||||
}
|
Memuat…
Reference in New Issue