登录密码加密传输(密码加密传输 http)

2023-01-30 1:38:48 密码用途 思思

为什么 chrome 登录页面密码 传输到 后台 变成加密

安全性考虑,如果明文传输,很容易被网络攻击者抓包破解。

不仅在传输时需要使用加密方式,存储时也需要使用加密方式,否则遇到拖库,则所有账号、密码都被泄露,是很严重的事故。

存储密码时,如果使用md5,则需要考虑加盐,以大幅提高从md5密文反推出明文的难度(例如使用彩虹表方式)

登录密码加密传输(密码加密传输 http) 第1张

js点击登录按钮获取到账号密码文本框内容并加密传输

文本框和密码框都是input元素,只是type属性值不一样,因此只要将type属性由text修改为password即可实现文本框变密码框。示例如下:

1、HTML结构

input type="text" id="test" value="请输入密码" onclick="fun(this)"

2、javascript代码

function fun(obj){    obj.value = "";    obj.type = "password";}

3、效果演示

mysql的登录密码传输时是如何加密的

不是加密,是哈希。根据图片中哈希后的长度是40,估计采用SHA1.

前端是否需要对密码进行加密传输 && HTTPS

最近学习node,写demo登陆和注册功能的时候因为要考虑后台的加密和安全所以也想了下前端的,前端传输密码的时候是否应该加密之后再传输呢

看了一些网站的登陆,csdn、等是明文传输,但腾讯、百度这些一线大站是经过前端加密的,看了些大佬的文章,顺便自己搬个凳子记个笔记

前端的加密本身不能对网站的安全性有任何提高功能,所有的关于网站的安全技术都应该放在后台,但是这也不是完全没有意义,可以增加攻击成本,尽可能降低攻击带来的损失,毕竟丢了密文比丢了明文要强,而且犯罪分子技术参差不齐,简单的加密能够拦截很大一部分菜鸟,至于高手。。。

最后看到比较统一的是隐秘信息传输应该使用https

这篇文章只是想弄懂流程和原理,不会去纠结具体的术语

HTTP协议以明文方式发送内容,不提供任何方式的数据加密,处在同一网络中的其它用户可以通过网络抓包来窃取和篡改数据包的内容,甚至运营商或者wifi提供者,有可能会篡改http报文,添加广告等信息以达到盈利的目的

可以通过和SSL(Secure Socket Layer,安全套接层)组合使用来为浏览器和服务器之间的通信加密。在这条加密线路上进行通信的http被称为HTTPS(HTTP Secure,超文本传输安全协议)。

SSL证书(Secure socket layer),就是遵守SSL协议,由受信任的数字证书颁发机构CA颁发,主要用来提供对用户浏览器和服务器的认证,对传送的数据进行加密和隐藏,确保数据在传送中不被改变保证数据的完整性,加密方式为「非对称加密」和「对称加密」。

1、用户连接到你的Web站点,该Web站点受服务器证书所保护

2、你的服务器进行响应,并自动传送你网站的数字证书给用户,(浏览器内置一个受信任的机构列表和这些机构的证书)用户的浏览器查看该证书是否存在于浏览器的受信任机构列表中,并且通过服务器证书中的信息与当前正在访问的网站(域名等)是否一致来鉴别你的网站,鉴别没成功会提醒用户是否继续该访问

3、鉴别成功后,用户的浏览器产生一把唯一的会话钥匙,用以跟网站之间所有的通讯过程进行加密,会话密钥是随机生成,每次都会有不一样的结果,

4、使用者的浏览器以网站的公钥对交谈钥匙码进行加密,以便只有让你的网站得以阅读此交谈钥匙码

1、使用HTTPS协议可认证用户和服务器,确保数据发送到正确的客户机和服务器;

2、HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,要比http协议安全,可防止数据在传输过程中不被窃取、改变,确保数据的完整性。

3、HTTPS是现行架构下最安全的解决方案,虽然不是绝对安全,但它大幅增加了中间人攻击的成本。

4、谷歌曾在2014年8月份调整搜索引擎算法,并称“比起同等HTTP网站,采用HTTPS加密的网站在搜索结果中的排名将会更高”。

1、HTTPS协议握手阶段比较费时,会使页面的加载时间延长近50%

2、HTTPS连接缓存不如HTTP高效,会增加数据开销和功耗,甚至已有的安全措施也会因此而受到影响;

3、SSL证书需要钱,功能越强大的证书费用越高

4、SSL证书通常需要绑定IP,不能在同一IP上绑定多个域名

5、HTTPS协议的加密范围也比较有限,在黑客攻击、拒绝服务攻击、服务器劫持等方面几乎起不到什么作用。最关键的,SSL证书的信用链体系并不安全,特别是在某些国家可以控制CA根证书的情况下,中间人攻击一样可行。

知乎各位大佬的回答

HTTP与HTTPS的区别

jsp登陆信息怎么进行加密传输?

采用HTTPS来进行安全传输。

HTTPS其实包括两部分内容:

1. 传输的内容采用非对称加密算法进行加密

2. 采用权威机构认证的CA证书来证明服务器是可信真实的

作为个人测试使用,你不可能去弄个真的CA证书,所以只能伪造个证书,然后进行加密传输。

具体的配置方法,见下面链接:

如何保证用户登录时提交密码已经加密

如何保证用户登陆时提交密码已经加密?密码是否已加密,需要客户端和服务端建立约定,双方按约定办事就行了。

这里提到的另一个问题是,如何保证传输安全?

最理想的方案当然是走 HTTPS 协议. HTTPS

在理论上是可靠的,但在国内会打一些折扣:你可以随便找一台电脑看看有没有安装商业公司或机构的根证书,这些根证书为线路某节点成为中间人提供了可能性;同时,在木马横行的年代,密码在加密提交前可能就被拿到了,此时

HTTPS

成了摆设,这是为什么国内流行密码控件的一个重要原因。

从成本和需求上考虑,对于众多对安全性要求不高的个人网站,仍然可以考虑采用

HTTP 传输,密码提交前通过 JavaScript 加密。由于

JavaScript

代码暴露在客户端,因此一般通过不可逆的加密方法加密密码,而对于任何摘要式的加密算法,都可以通过类似

md5 字典的方式直接查表获知弱密码,所以要混入

salt

以增加制作字典的成本。可想而知,解密只是时间成本的问题。因此这里的重要前提是“对安全性要求不高”。

如何验证密码呢?一个可行的方法是,客户端提交

md5(password)

密码(如上所述,此方法只是简单保护了密码,是可能被查表获取密码的)。服务端数据库通过

md5(salt+md5(password)) 的规则存储密码,该 salt

仅存储在服务端,且在每次存储密码时都随机生成。这样即使被拖库,制作字典的成本也非常高。

密码被 md5() 提交到服务端之后,可通过 md5(salt +

form['password'])

与数据库密码比对。此方法可以在避免明文存储密码的前提下,实现密码加密提交与验证。

这里还有防止 replay

攻击(请求被重新发出一次即可能通过验证)的问题,由服务端颁发并验证一个带有时间戳的可信

token (或一次性的)即可。

当然,传输过程再有 HTTPS 加持那就更好了。

最后,为什么要密码控件?原因之一是上面说的,要防止密码在提交前被截获。