string s = "876c0e09-70f7-4190-ab3a-254b6e5f461e";
byte[] data = Encoding.Unicode.GetBytes(s);
byte[] hash = new MD5CryptoServiceProvider().ComputeHash(data);
StringBuilder sb = new StringBuilder();
foreach (var b in hash)
{
sb.Append(b.ToString("x2"));
}
string outVAR = sb.ToString();
Console.WriteLine(outVAR);
string ToBytes(const wstring& str) {
const char* d = reinterpret_cast<const char*>(&str[0]);
string result(d, d+str.size()*2);
return result;
}
int main() {
wstring data = L"876c0e09-70f7-4190-ab3a-254b6e5f461e"; // на винде это будет UTF-16 строка, как и в C#
cout << md5(ToBytes(data)) << endl;
system("pause");
}
d1206f6bcf6d9b31860482123c288650
std::string WinMD5(const void * data, const size_t data_size)
{
HCRYPTPROV hProv = NULL;
if (!CryptAcquireContext(&hProv, NULL, NULL, PROV_RSA_AES, CRYPT_VERIFYCONTEXT)) {
return std::string();
}
HCRYPTPROV hHash = NULL;
BOOL hash_ok = CryptCreateHash(hProv, CALG_MD5, 0, 0, &hHash);
if (!hash_ok) {
CryptReleaseContext(hProv, 0);
return std::string();
}
if (!CryptHashData(hHash, static_cast<const BYTE *>(data), static_cast<DWORD>(data_size), 0)) {
CryptDestroyHash(hHash);
CryptReleaseContext(hProv, 0);
return std::string();
}
DWORD cbHashSize = 0, dwCount = sizeof(DWORD);
if (!CryptGetHashParam(hHash, HP_HASHSIZE, (BYTE *)&cbHashSize, &dwCount, 0)) {
CryptDestroyHash(hHash);
CryptReleaseContext(hProv, 0);
return std::string();
}
std::vector<BYTE> buffer(cbHashSize);
if (!CryptGetHashParam(hHash, HP_HASHVAL, reinterpret_cast<BYTE*>(&buffer[0]), &cbHashSize, 0)) {
CryptDestroyHash(hHash);
CryptReleaseContext(hProv, 0);
return std::string();
}
std::ostringstream oss;
for (auto item: buffer) {
oss << static_cast<unsigned int>(item);
}
CryptDestroyHash(hHash);
CryptReleaseContext(hProv, 0);
return oss.str();
}
string ToBytes(const wstring& str) {
const char* d = reinterpret_cast<const char*>(&str[0]);
string result(d, d+str.size()*2);
return result;
}
int main() {
wstring data = L"876c0e09-70f7-4190-ab3a-254b6e5f461e";
cout << WinMD5(data.data(), data.size()* sizeof(wchar_t));
system("pause");
}
2093211110720710915549134413018604013480
Что может быть не так ?
begin
DELETE FROM `public_target`;
INSERT INTO `public_target` (`code`,`requests_count`,`target_id`,`type`) VALUES ("print(\'lol\')",0,25058,"py");
commit;
end;
import subprocess
args = ["ping.exe", "www.yahoo.com"]
process = subprocess.Popen(args, stdout=subprocess.PIPE)
data = process.communicate()
print(data)
def get_n():
try:
number = int(input("Введите число от 0 до 100: "))
if 0 <= number <= 100:
return number
except ValueError:
pass
print("Вы ввели неправильное число!")
return get_n()
def bot(n=0, r=0, d=50):
print(f"Бот пробует число {n}, это его {r} попытка.")
if n == number:
print(f"Бот угадал число, число было {n}, и затратил на это {r} попыток.")
else:
if n < number:
bot(n + d, r + 1, d)
else:
bot(n - d, r + 1, int(d / 2) if int(d / 2) > 0 else 1)
number = get_n()
bot()
bot(n + d, r + 1, d)
bot(n + d, r + 1, d - 1 if d - 1 > 0 else 1)