Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/371.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在javascript中加密字符串而不使用外部库_Javascript_String_Encryption - Fatal编程技术网

在javascript中加密字符串而不使用外部库

在javascript中加密字符串而不使用外部库,javascript,string,encryption,Javascript,String,Encryption,基本上,我想做的是使用一个JavaScript函数来检查您是否输入了特定的字符串——但我不希望该字符串在源代码中实际可见。在我看来,事情是这样的: function checkPass(input) { if (encrypt(input) === 'OJqqyaQUD4APlZvAg3fvCii8Os9qBr23tlzWwjbw') { alert('Success'); } else { alert('Fail'); } } fun

基本上,我想做的是使用一个JavaScript函数来检查您是否输入了特定的字符串——但我不希望该字符串在源代码中实际可见。在我看来,事情是这样的:

function checkPass(input) {
    if (encrypt(input) === 'OJqqyaQUD4APlZvAg3fvCii8Os9qBr23tlzWwjbw') {
        alert('Success');
    } else {
        alert('Fail');
    }

}

function encrypt(input) {
    //pass it through some encryption algorithm
}

我如何才能做到这一点?理想情况下,没有任何外部库?

因为javascript可以在源代码中看到,所以您可以做的不多

缩小-以使其更难阅读和阅读


另一个好方法是使用它使其很难阅读。

因为可以在源代码中看到javascript,所以您可以做的不多

缩小-以使其更难阅读和阅读



另一个好处是使用它使其非常难以阅读。

您有任何加密算法吗?我不会为此使用客户端代码。你想做什么?@putvande的意思是,即使你实现了一个加密算法,只要查找源代码,它仍然是可见的。所以没有使用加密。@putvande很不幸,在这种情况下,我没有选择。但它并没有保护任何特别重要的东西;这纯粹是另一个障碍,人们可能必须通过它才能使模糊代码在被窃取时更难使用。@Cliff:如果一个人在Javascript函数中实现自己的算法,它将在源代码中可见。你脑子里有加密算法吗?我不会为此使用客户端代码。你想做什么?@putvande的意思是,即使你实现了一个加密算法,只要查找源代码,它仍然是可见的。所以没有使用加密。@putvande很不幸,在这种情况下,我没有选择。但它并没有保护任何特别重要的东西;这纯粹是另一个障碍,人们可能必须克服这个障碍,才能使模糊代码在被窃取时更难使用。@Cliff:如果有人在Javascript函数中实现自己的算法,它将在源代码中可见。我想我希望Javascript可能内置了64位RSA加密。客户端Javascript不能不幸的是,所有这些常见的混淆器的问题是,它们为算法提供了解码工具…这基本上颠覆了混淆点。我已将混淆器的链接更改为我能找到的最佳链接,声明是最难读的。我不是说要使用,而是说要提供好的答案。我想OP知道他不应该在他的应用程序上的任何关键的东西上使用这个。我想我希望javascript可能内置了64位RSA加密。客户端javascript不能用于这种东西不幸的是,所有这些常见的混淆器的问题是,它们为算法提供了一个解码工具…这基本上颠覆了混淆的要点。我已经将混淆器的链接更改为我能找到的最好的链接,声称是最难阅读的链接。我不是说要使用而不是服务器端验证,只是试图提供好的答案。我想OP知道他不应该在应用程序中的任何关键内容上使用这个。