Hacker(21)----密码攻防之加密与解密基础
密码对于用户而言并不陌生,它是一种用于保护重要信息和文件的工具,只有输入正确的密码才可查看文件和信息的具体内容。黑客为了获取这些信息,会采用各种方式来破解密码,因此用户不仅需要了解黑客破解密码的常用方法,而且还要掌握防范密码被破解的常用措施。
密码学中,加密与解密是互逆的操作,它们的操作对象都是密码。对解密而言,除了在知道密码的情况下进行解密操作,还可在不知道密码情况下进行解密,即破解密码。
一、认识加密与解密
加密指以某种特殊的算法改变原有的信息数据,使得其他用户即使获取了已加密的信息数据,但因为不知道解密的方法,仍然无法了解信息的内容。其基本过程就是对原来为明文的文件或数据按某种算法进行处理,使其成为不可读的一段代码(常称为“密文”),使其只能在输入相应的密钥之后才能显示出原来的内容,通过这样的途径达到保护数据不被非法窃取、阅读的目的。
解密操作是加密操作的逆操作,即利用密钥将不可读的“密文”转换为“明文”,便于直接阅读。
二、破解密码常用方法
破解密码指在不知道密码情况下采用各种方法进行破解密码的操作。破解密码常见的操作有暴力穷举、击键记录、屏幕记录、Internet钓鱼、嗅探及密码心理学几种。
1、暴力穷举
暴力穷举是密码破解技术中最基本的招数,即通过将键盘上的字母、数字和符号进行不同的组合来尝试破译密码。若黑客在破解前知晓账号,如网上银行账号、支付宝账号等,且登录密码设置过于简单(简单数字或字母组合),黑客利用暴力破解工具在短时间内就可以将密码破解出来。
2、击键记录
当用户密码设置较为复杂时,使用暴力穷举十分浪费时间,这时黑客会通过给目标计算机安装具有击键记录的木马或病毒程序,来记录和监听用户的击键操作,然后通过各种方式记录用户的击键内容并发送给攻击者,攻击者只需分析用户击键信息即可破解出密码。
3、屏幕记录
除了通过键盘输入密码外,用户经常会采用通过鼠标和屏幕键盘录入密码的方法。面对这种情况,黑客仍然可以通过向计算机植入木马程序来截取目标计算机的屏幕记录鼠标的点击位置,通过记录鼠标位置对比截屏的图片,从而破解用户密码。
4、Internet钓鱼
指黑客利用欺骗性电子邮件或伪造的网站来诱骗用户输入账号密码信息,从而获取这些信息。受骗者会上当受骗而泄漏自己的敏感信息(如用户名、密码、账号、PIN码或信用卡详细信息)。Internet钓鱼主要通过发送电子邮件引诱用户登录假冒的网上银行、网上证券网站,骗取用户账号、密码、实施盗窃行为。
5、嗅探
局域网中,黑客若想迅速获取大量的账号,最为有效的手段就是利用嗅探工具嗅探局域网中的数据包。利用嗅探工具可以监视网络的状态、数据流动情况以及网络上传输的信息。当信息以明文的方式在网络上传输时,便可以使用网络监听的方式窃取网上传送的数据包。
6、密码心理学
很多著名的黑客破解密码并非采用尖端的技术,而是借助密码心理学,从用户的心理入手,从细微入手分析用户的信息和心理(如用户喜爱将自己的密码设置为出生年月日、手机号码等),从而更快捷地破解密码。其实,获得信息还有很多途径,如果密码心理学掌握的好,可以非常快速地破解获得用户信息。
Hacker(21)----密码攻防之加密与解密基础的更多相关文章
- js的常见的三种密码加密方式-MD5加密、Base64加密和解密和sha1加密详解总结
写前端的时候,很多的时候是避免不了注册这一关的,但是一般的注册是没有任何的难度的,无非就是一些简单的获取用户输入的数据,然后进行简单的校验以后调用接口,将数据发送到后端,完成一个简单的注册的流程,那么 ...
- C#:使用MD5对用户密码加密与解密
C#中常涉及到对用户密码的加密于解密的算法,其中使用MD5加密是最常见的的实现方式.本文总结了通用的算法并结合了自己的一点小经验,分享给大家. 一.使用16位.32位.64位MD5方法对用户名加密 1 ...
- 使用kettle转换中的JavaScript对密码进行加密和解密
日常开发中,为了确保账号和密码的安全,时常要对密码进行加密和解密.然而kettle是怎么对密码进行加密和解密的呢? 下面的代码需要再转换中的JavaScript中运行. var encrypted_p ...
- java代码实现对excel加密、解密(设置或去除打开密码)
使用jxcell组件来完成对excel加密.解密的功能. jxcell.jar[点击下载](此jar没有使用限制,你懂得) 具体代码如下: import java.io.IOException; im ...
- C# 实现对PPT文档加密、解密以及重置密码的操作
工作中我们会使用到各种各样的文档,其中,PPT起着不可或缺的作用.一份PPT文档里可能包含重要商业计划.企业运营资料或者公司管理资料等.因此,在竞争环境里,企业重要资料的保密工作就显得尤为重要,而对于 ...
- 转 C#:使用MD5对用户密码加密与解密
C#中常涉及到对用户密码的加密于解密的算法,其中使用MD5加密是最常见的的实现方式.本文总结了通用的算法并结合了自己的一点小经验,分享给大家. 一.使用16位.32位.64位MD5方法对用户名加密 1 ...
- 密码基础知识(2)以RSA为例说明加密、解密、签名、验签
密码基础知识(1)https://www.cnblogs.com/xdyixia/p/11528572.html 一.RSA加密简介 RSA加密是一种非对称加密.是由一对密钥来进行加解密的过程,分别称 ...
- params关键字、工具辅助类与、加密与解密
一.params关键字 在C#中如果给方法的参数加上关键字params则会形成可变参数,在传递时可以是0-n个对象. 示例: using System; using System.Collection ...
- Javascript中双等号(==)隐性转换机制 JS里charCodeAt()和fromCharCode()方法拓展应用:加密与解密
Javascript中双等号(==)隐性转换机制 在Javascript中判断相等关系有双等号(==)和三等号(===)两种.其中双等号(==)是值相等,而三等号(===)是严格相等(值及类型是否 ...
随机推荐
- 前端bug记录---不定时更新
在项目的开发中难免遇到各种各样的bug,我觉得还是有必要记录一下的,方便日后查询. safari window resize 为满足日常轮播需求,做一个符合当前业务的轮播插件,其中需要考虑windo ...
- Segment,Path,Ring和Polyline的区别
这四者当中Segment是最小的单位,具体的构成路线可以分为两个条:Segment-Path-Ring(封闭的Path)Segment-Path-Polyline Segment 和 Path 可以说 ...
- Linux 定时执行shell脚本_crontab
1.查看任务[oracle@XXXXX OracleBackA]$ crontab -l 2.新增任务[oracle@XXXXX OracleBackA]$ crontab -e 3.每天14点40执 ...
- params参数的使用方法
params 将方法中实际参数列表中跟可变参数数组类型一致的类型,都处理为数组中的的元素 static void Main(string[] arr) { // int[] numbers={2,3, ...
- ionic开发ios app
注意必须是mac系统 1. 首先要安装node环境,Ionic的安装和后续的许多前端工具的安装都依赖于node的包管理器npm. nodeJs环境的安装很简单,去官网下载最新版的NodeJs直接安装即 ...
- IP地址的存储和使用
ip地址使用int类型存储,用INET_NTOA()和INET_ATON()转换 mysql'),inet_aton('127.0.0.1'); +-------------------------+ ...
- Linux 软链接和硬链接的理解与学习
理解前提: 首先要知道 Linux任意一个文件包含2个信息:第一个信息就是文件本身存的内容,第二个信息是文件的控制信息(读写,路径,大小等等),这2个信息是分开存储的,明白这点非常重要 理解总结: L ...
- JavaScript文本框统计字数
<html> <head> <title>enter</title> <script language="javascript" ...
- 这样就算会了PHP么?-7
循环之类的例子 <script language="javascript"> function calculate(a, b) { return a * b; } do ...
- WCF的基本知识-仅Http绑定的认知
有关WCF,这3个字母代表的含义,鄙人不会在此细说.喜欢或者不喜欢的,大家勿喷. 入正题,微软从设计.net框架开始,就一直着力于解决程序间的互通信问题.从古老的套接字(Socket)通信到后来的Re ...