gpt4 book ai didi

javascript - 在 javascript 中隐藏我的哈希值

转载 作者:数据小太阳 更新时间:2023-10-29 05:37:32 25 4
gpt4 key购买 nike

我正在尝试在我的客户端使用指纹识别,并将此代码作为更大代码的一部分。

function checksum(str) {
var hash = 5382,
i = str.length;

while (i--) hash = (hash * 33) ^ str.charCodeAt(i);

return hash >>> 0;
}

如您所见,哈希值一目了然。你能告诉我如何使用或使用什么实现,以便我可以隐藏或任何可以掩盖 hash = 5382 的东西吗?谢谢。

最佳答案

如果你用 base64 编码,但任何人都可以轻松解码。您的哈希有多敏感?

str = "The quick brown fox jumps over the lazy dog";
b64 = btoa(unescape(encodeURIComponent(str)));
str = decodeURIComponent(escape(window.atob(b64)));

输出将是 VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wcyBvdmVyIHRoZSBsYXp5IGRvZw==

如果您使用的是 PHP,您只需使用 base64_encode() 和 base64_decode() 来处理。例如,您可以使用编码值隐藏输入,然后获取它的 val 并使用我给您的最后一行。

Base64 PHP http://php.net/manual/en/function.base64-encode.php和 base64 JAVASCRIPT https://developer.mozilla.org/pt-BR/docs/Web/API/WindowBase64/atob .或者你可以加密它的内容然后在服务器端解密它。这是一个加密/解密数据的小类 (PHP):

<?php
namespace Company\Security;

/*
* @description: Simple class to wrap crypt function calls
* @author: Marco A. Simao
*/

class Crypto {

/*
* returns encrypted data with iv appended at the begining of the string
*/
public static function encrypt($data, $key)
{
$iv = openssl_random_pseudo_bytes(16);

$c = openssl_encrypt($data, 'AES-128-CBC', $key, OPENSSL_RAW_DATA, $iv);

return $iv . $c;
}

/*
* returns decrypted data. Expects 16 first bytes of data to be iv table.
*/
public static function decrypt($data, $key)
{
return openssl_decrypt(substr($data, 16), 'AES-128-CBC', $key, OPENSSL_RAW_DATA, substr($data, 0, 16));
}
}

并且您需要使用 Javascript 进行解密,例如:How to use the Web Crypto API to decrypt a file created with OpenSSL?

关于javascript - 在 javascript 中隐藏我的哈希值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46808436/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com