解码使用Python编码的Node.js中的字符串 - javascript

我有一个要求,我要使用秘密密钥在Python中编码字符串。然后,我需要在Node.js中对其进行解码。我是Node.js的新手,所以不确定如何做。

这是Python方面:

from Crypto.Cipher import XOR
def encrypt(key, plaintext):
    cipher = XOR.new(key)
    return base64.b64encode(cipher.encrypt(plaintext))

encoded = encrypt('application secret', 'Hello World')

在我的Node.js脚本中,我可以访问编码的字符串和秘密密钥。我需要检索原始字符串。

const decoded = someLibrary.someMethod('application secret', encoded)
// decoded = 'Hello World'

请注意,我同时拥有Python和Node.js脚本,因此,如果需要,我可以更改python脚本以使用不同的编码机制。

参考方案

运行您的Python代码,我得到了:

KRUcAAZDNhsbAwo=

要在没有第三方库的情况下使用JavaScript对此进行解码,请执行以下操作:

// The atob function (to decode base64) is not available in node, 
// so we need this polyfill.
const atob = base64 => Buffer.from(base64, 'base64').toString();

const key = 'application secret';
const encoded = 'KRUcAAZDNhsbAwo=';

const decoded = atob(encoded)
  .split('')
  .map((char, index) =>
    String.fromCharCode(char.charCodeAt(0) ^ key.charCodeAt(index % key.length))
  )
  .join('');

// decoded = 'Hello World'

Javascript IF语句 - javascript

                        嗨,我有这段代码可以正常工作,并将两个日历显示为一个日历。我还有一个php变量$login_session,其中包含登录电子邮件地址的用户。关于如何显示[email protected]日历的任何想法(伪代码)IF $login_session == "[email protected]&#…

提交初始化后删除某些帖子数据 - javascript

在初始化提交之后但在将数据发送到处理页面之前,是否可以过滤$ _POST表单数据?我想象过程的方式:提交->收集$ _POST数据->发送数据我想做的事:提交->收集$ _POST数据->删除某些元素->发送数据这样就不必更改处理页面以过滤掉不希望接收的元素了吗? javascript大神给出的解决方案 当然可以,您可以在JS …

如何使用Javascript将字典列表解析为JSON格式? - javascript

我正在尝试解析JSON格式的词典列表,以便可以使用它们的数据创建一组列表项,其中使用此数据生成文本和ID。我将以下内容传递到我的网页,并在投放之前将其存储在隐藏的div中: [{'text': 'org1', 'id': 'org1ID'}, {'text':…

如何在没有for循环的情况下在Javascript中使用Django模板标签 - javascript

我想在JavaScript中使用模板变量:我的问题是在javascript代码中使用for循环,for循环之间的所有事情都会重复..但我不想要....下面粘贴了我的代码..有人可以告诉我更好的方法吗这..因为这看起来很丑..这是我的代码: {% block extra_javascript %} <script src="/static/js…

将字符串值添加到php / javascript - javascript

您好,我有一些代码需要在其中插入一些字符串值,但是每次我输入字母时,脚本都无法正常工作。<script type="text/javascript"> "use strict"; var values = [1,2,3,4,5,6,7,8,9]; /*add string values here*/ var…