我试图找到一种简单的方法来记录和暂时混淆我在Markdown中编写的“测验”问题的答案。 (在演示过程中,我会告诉学生测验答案,因此,我不需要任何类型的安全加密。)

我以为我可以使用atob('message I want to obfuscate'),然后告诉学生们可以在其开发人员工具面板中使用btoa()来逆转该过程。但是,以下内容不会返回“one”:

btoa( atob('one') )

有人知道为什么它不返回'one'吗? JavaScript中是否还有其他方法可以使您轻松地对消息进行加密和解密? (我正在与绝对的初学者一起工作,这些初学者可能会对功能感到困惑,并且对将库添加到页面会感到非常困惑)。

最佳答案

这就是原因。



var string1 = "one",
  string2 = "one2";

console.log("Value of string1", string1)
console.log("Decoded string1", atob(string1))
console.log("Encoded string1", btoa(atob(string1)))
console.log("-------------------------------------")
console.log("Value of string2", string2)
console.log("Decoded string2", atob(string2))
console.log("Encoded string2", btoa(atob(string2)))

关于javascript - 为什么Atob和Btoa不可逆,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47438308/

10-10 22:18