是否通过移动网站的安全SSL连接将base64编码的用户名和密码作为变量传递是否安全?
我是否应该用AES256编码?
对于每个网页,我使用base64编码的用户名和密码来获取一个网址,如下所示
https://mobile.site.com?id=ASDQWEQWEQWEQWEQWE(其中id包含用户名和密码)
答案 0 :(得分:3)
SSL是可行的方式,并且会将数据加密,因此流中的任何人都无法读取。事先使用AES对其进行加密需要您与客户端和服务器预先交换密钥,这将是您需要在信道外进行的额外步骤;在SSL中完成的密钥交换的不对称性使得这不必要。
并且......不要在客户端散列密码,只是发送到服务器进行比较。这是一种可怕的做法。如果您的服务器的用户名/密码表遭到入侵,攻击者就会确切地知道要向您的服务器发送什么以任何用户身份登录(用户A有哈希X,因此只需将A / X作为UN / PW发送并且服务器将允许你进入)。你想把实际的密码发送到服务器,所以它可以在那里哈希,然后将结果与存储的值进行比较(用户A有哈希X,但我无法弄清楚什么值哈希到X所以我不要知道要发送什么作为PW)。
答案 1 :(得分:1)
如果使用SSL进行连接,则所有内容(包括密码和用户名)都已编码 不一定使用AES256,但这取决于所使用的密码套件。 没有必要对它们进行额外编码,使用SSL非常好。
使用Base64编码是可选的 - 它是一个透明的编码,不会增加任何额外的安全性,它只是为了更容易的数据传输(例如用户名或密码中的特殊字符)。