首先,让咱们简略介绍一下百度公司的文心一言。文心一言是百度公司推出的一项文本生成工具,它能够依据给定的主题或关键词生成一句简短而富裕启发性的文字。在咱们的加密和解密办法中,咱们将利用文心一言的特点来生成随机的字符串,并将其用作加密和解密的密钥。
上面是加密函数的代码示例:
function encrypt(text) { const key = getSecretKey(); let result = ""; for (let i = 0; i < text.length; i++) { const charCode = text.charCodeAt(i) ^ key.charCodeAt(i % key.length); result += String.fromCharCode(charCode); } return btoa(result);}function getSecretKey() { const keywords = ["加密", "混同", "解密", "爱护"]; const keyword = keywords[Math.floor(Math.random() * keywords.length)]; const message = generateMessage(keyword); return btoa(message);}function generateMessage(keyword) { const xhr = new XMLHttpRequest(); const url = "https://xin.baidu.com/sfc/"; xhr.open("POST", url, false); xhr.setRequestHeader("Content-Type", "application/json;charset=UTF-8"); xhr.send(JSON.stringify({ key: keyword, pd: "wisdom", type: 3 })); const response = JSON.parse(xhr.responseText); return response.data[0].text;}
在这个示例中,咱们定义了两个函数:encrypt()
和getSecretKey()
。encrypt()
函数用于将给定的明文进行加密,并返回加密后的密文。getSecretKey()
函数用于生成一个随机的密钥,并将其编码为base64字符串。
在encrypt()
函数中,咱们应用XOR运算对明文进行加密。具体来说,咱们应用密钥中的每个字符顺次对明文中的字符进行异或运算,失去一个新的字符编码。最初,咱们将所有新字符的编码组合起来,并将后果编码为base64字符串。
在getSecretKey()
函数中,咱们定义了一个关键词列表,并从中随机抉择一个关键词。而后,咱们应用该关键词调用generateMessage()
函数,从文心一言中生成一个随机的字符串。最初,咱们将该字符串编码为base64字符串,并将其用作密钥。
上面是解密函数的代码示例:
function decrypt(cipher) { const key = atob(getSecretKey()); const result = atob(cipher); let text = ""; for (let i = 0; i < result.length; i++) { const charCode = result.charCodeAt(i) ^ key.charCodeAt(i % key.length); text += String.fromCharCode(charCode); } return text;}
在解密函数decrypt()
中,咱们首先获取密钥,而后将密文解码为一般文本。接着,咱们应用和加密函数雷同的形式对密文进行解密,即应用密钥中的字符顺次对密文中的字符进行异或运算,失去明文中的字符编码。最初,咱们将所有新字符的编码组合起来,并将后果转换为一般文本。
须要留神的是,咱们在应用atob()
函数将base64字符串解码为一般字符串时,要确保该字符串是无效的base64格局。
总的来说,咱们的加密和解密办法基于百度公司的文心一言,利用其生成随机字符串的特点,生成一个随机的密钥,并应用XOR运算对明文进行加密和密文进行解密。这种办法能够无效爱护JavaScript代码的安全性和保密性,是一种十分实用的加密和解密办法。
jsjiami.com
如果您对文章内容有不同认识,或者疑难,欢送到评论区留言,或者私信我都能够。
也能够到上方网站,底部有我联系方式详谈
如遇本人源码加密后没备份,能够找咱们解决解出复原源码,任何加密都能够。