知道了密文,怎么能知道它用的是啥加密算法?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了知道了密文,怎么能知道它用的是啥加密算法?相关的知识,希望对你有一定的参考价值。
已知密文,如:3C5F190A3CF6C540F5 用什么方法能判断它是用什么加密的?用的是什么算法?
参考技术A 如果只知道密文的话 是无法判断它所用的加密类型的本回答被提问者采纳https加密了为啥抓包还是明文?
1、https默认是密文,但通过中间人方式可间接看到明文,利用的就是客户https请求时需要安装服务端证书再确认公钥2、抓包程序将服务器返回的证书截获 ,然后给客户端返回一个它自己的证书;现在的抓包工具findler,wireshark都支持创建证书。
所以看到明文的原因,主要就是如下过程:
2.1抓包工具作为客户端和服务端交互,交互用的是【服务端的证书】,相互知道明文
2.2 自己的https请求被抓包工具截获,交互用的是【findler生成的证书】,相互知道明文。
简单理解:
抓包工具已经更改了https原始的证书,所以抓包工具可以看到明文。
请问客户端如何防止伪造证书:
每次https请求都验证证书是否有效(判断是否是服务端证书),无效就不发送请求。 参考技术A
https抓包的原理就是抓包程序将服务器返回的证书截获 ,然后给客户端返回一个它自己的证书;
客户端发送的数据抓包程序用自己的证书解密,然后再用截获的证书加密,再发给服务器 所以你在能看到明文。
密文是针对https两端以外其他路径而言,你作为https链接的两端,当然可以看到明文 。
技术一点来说,TLS协议是在tcp协议之上的,tcp又是基于IP协议的。所以无论如何,你的对端IP地址是肯定无法加密的。
换个角度来看,假如你把对端ip都加密了,路由器怎么办?你的数据根本无法在网络上转发。
另外TLS协议也只是把HTTP层的数据加密了,所以也只是无法看到HTTP传输的内容,但是其他协议层的内容还是明文传输的。
这是因为: https(ssl)加密是发生在应用层与传输层之间,所以在传输层看到的数据才是经过加密的,而我们捕捉到的http 。
post,是应用层的数据,此时还没有经过加密。这些明文信息,其实就是你的本地数据。
加密数据只有客户端和服务器端才能得到明文,客户端到服务端的通信过程是安全的。
以上是关于知道了密文,怎么能知道它用的是啥加密算法?的主要内容,如果未能解决你的问题,请参考以下文章
SQL数据库里面后台的密码加密了密文是:128xwM4bvLVmvhz4zEtMlw== 请问如何解密。怎样查看是怎样加密的?