Python 如何加密发送到服务器的密码

Python 如何加密发送到服务器的密码,python,encryption,passwords,hashlib,Python,Encryption,Passwords,Hashlib,我正在尝试将用户名和密码数据从web表单发送到服务器 密码通过https连接以明文形式发送,然后在存储之前在服务器上正确加密(使用pythonhashlib.sha224),但是我不确定如何以加密格式将密码文本传输到服务器 我的web客户端是用javascript编写的,服务器是用python编写的。您必须用javascript对其进行加密。不幸的是,JavaScript不提供任何现成的加密工具,因此您必须使用第三方库或自己编写一些东西 正如其他人所说,HTTPS是用来加密整个流量的,所以也许你

我正在尝试将用户名和密码数据从web表单发送到服务器

密码通过https连接以明文形式发送,然后在存储之前在服务器上正确加密(使用python
hashlib.sha224
),但是我不确定如何以加密格式将密码文本传输到服务器


我的web客户端是用javascript编写的,服务器是用python编写的。

您必须用javascript对其进行加密。不幸的是,JavaScript不提供任何现成的加密工具,因此您必须使用第三方库或自己编写一些东西

正如其他人所说,HTTPS是用来加密整个流量的,所以也许你不需要任何额外的东西?但是,如果您这样做了,您可能想看看这个,这可能会对问题有所帮助。祝你好运!:)

https是一种加密格式。你很好


如果您想在客户端执行此操作,我建议使用
sha1
对其进行散列。这家伙似乎有一些LIB:-SHA1、sha256、md5等。

实际上你传输的是加密密码,因为你使用SSL。 此外,您不加密密码,而是在服务器上散列密码

无论如何,你可以用类似的东西。也符合您的目的。
对于python,有一个名为的加密库。但是我对Javascript和Python之间的通信有一个问题。我试图做一些类似的事情,但有一个问题。我想我的问题会帮你解决你的问题


但一般来说,通过使用https,您已经自己解决了这个问题。

将密码发送到服务器的https通道提供了足够好的加密

但是,您需要更安全的密码存储机制。使用像“bcrypt”这样的算法进行数千次散列迭代(bcrypt称之为成本因子,它至少应该是16次,意味着216次迭代)和随机“salt”。这是通过从密码中导出加密密钥来实现的,这是一个计算成本很高的过程,然后使用该密钥加密一些已知的密文,保存这些密文以供将来尝试登录时比较


此外,仅在登录上使用HTTPS是不够的。您应该将其用于任何需要经过身份验证的用户或带有身份验证cookie的请求。

与http相反,
https
是一种加密协议。在客户端和服务器之间不需要额外的加密

SHA224
SHA1
MD5
不是加密,而是加密,这意味着它们是不可逆的

一些答案建议在客户端散列密码。 然而,不可逆转并不意味着无法破解。对普通密码进行散列后,从散列中获取匹配密码相对容易(参见示例)


因此,您不应该在客户端对密码进行散列,而应该将其与服务器端选择的某个任意字符串(通常称为salt)连接起来,并对结果进行散列。

https是加密;你到底想阻止谁读取数据?如果是https连接,那么问题是什么?此外,哈希!=加密<代码>SHA*不是加密算法。