我想给客户发送一些秘密数据,所以我想加密它。在
我在客户端使用jCryption。它在连接开始时使用握手,过程如下:
我的问题是发送用RSA加密的密码的步骤(步骤4),因为jCryption以十六进制格式发送,但是python-rsa期望二进制整数
如何将jCryption输出转换成python-rsa可以处理的格式,或者是否有其他库可以做到这一点?在
RSA密文如下:
TO\xa75[\x9a\x07s4\x86\xbc\xae\xe3\xd5s)1\x0cd5\xdfY\xf7\xeds9\xf3~\n\x9fA$\xa9\xfb;\x04\x1e\x18\xf4\xea\x7f\x91\xd9\xb7[\xd3\x138\xb6b\x9c\xb6\x1b\xe7\x11\x9aB\x1d@`y\x9c0\xe8\xb6!\x8b~lg\xabO\xbeny\xf7Xu\x89YW\xb0\xda@\x10\x0c\xe7\x85\x9bX\x8f\x02e\xdalf|\xa6\x0e\x8e\x8e\x9d\xd8=\x9bQLO7\x0fd\x19/]t?\xf1\x96\x1b\xb9\x8bv\xb4\xb4rS\x1c\xb9
从jCryption发送的数据如下所示:
11a6ebb863c379255df711aba86ad3986d6ecc33402a1596e6036b8d33f41932909a3e8c10cc4e0d2ece5f369808020ac7241a4285c80e6e483a1f6b43d933149961f50b72a808c769d39215ce08c33cfdb543b68bb0cf644f32dccf7eb90547290d47b96758449df3e7d4ec 2b50aef21ff4735c79f74bf5214ff356e4338ff2b292110ad537d160e41e34b350c7bc857601a943f915285e62f308fb6bd61d275321b68fbf27a52fbffc27b9ad15810795ccdea6d9776246b84b00503c2711d49a3f101af6f2c822d697a71aeca684e20328071ce84da907
好吧,我已经完成了这个任务,但首先我想说的是,我以后做的事情,获得https的LetsEncrypt免费证书要容易得多。在
对于这个解决方案,您需要安装openssl。在
让我们为ajaxes写视图
正在获取公钥。如果我们在项目目录中没有一个,那么就生成一个对。在
好的,握手。为了保护这个视图,我们需要修补jCryption javascript库。 我把AES密钥保存在这里的会话存储中。在
^{pr2}$让我们为中的视图选择URL网址.py在
最棘手的是。我们自己的中间件。您需要将其添加到设置.py. 有点像'mydleOptionmApp“如果你把它放在你的myapp里视图.py文件。在
诀窍是我们只使用'jCryption'属性发送错误的POST数据。中间件解密这个属性中的适当数据,并用它重写请求对象中的POST数据。 阅读Django文档中的中间件。在
以及带有表单模板的页面中的客户端代码。在
从我们的网址.py. 在
例如,您可以加密您的管理员登录表单。复制登录.html从django contrib admin到templates/admin/登录.html并将此javascript代码添加到模板中。在
塔达! 不要使用这个,使用HTTPS。在
相关问题 更多 >
编程相关推荐