在javascript中隐藏我的哈希值

时间:2017-10-18 10:49:03

标签: javascript

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

set menuNames to {}
tell application "System Events"
    tell application process "Script Editor"
        set menuContents to entire contents of menu bar 1
        repeat with thisItem in menuContents
            set end of menuNames to name of thisItem
        end repeat
    end tell
end tell
return menuNames

正如你所看到的那样,哈希很明显。你能告诉我如何使用或者使用什么实现,这样我就可以隐藏或任何可以掩盖hash = 5382的内容。谢谢。

1 个答案:

答案 0 :(得分:0)

如果使用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?