遗留问题回顾

一、java异常的处理

1、异常处理流程

异常处理流程

2、如果程序出现异常之后程序依然可以正常的完成的话,那么就可以使用如下异常处理程序。

try{

可能出现异常的语句;

}[catch (异常类型 异常对象){

处理异常;

}catch (异常类型 异常对象){

处理异常;

}...][finally {

不管是否出现异常,都执行此代码;

}]


3、示例:

异常处理示例

二、StreamTest2.java源码分析(使用Stream生成指定范围的随机数)

step1:Add each number in the range sequentially in a list structure.

step2:Shuffle it.

step3:Take the first 'n'.

参考链接:http://stackoverflow.com/questions/8115722/generating-unique-random-numbers-in-java
shuffle it !

三、MD5加密加盐与SHA

1、为什么要在密码里加点“盐”?

盐(Salt)

在密码学中,是通过在密码任意固定位置插入特定的字符串,让散列后的结果和使用原始密码的散列结果不相符,这种过程称之为“加盐”。

Salt 可以是任意字母、数字、或是字母或数字的组合,但必须是随机产生的,每个用户的 Salt 都不一样。

实际项目中,Salt 不一定要加在最前面或最后面,也可以插在中间嘛,也可以分开插入,也可以倒序,程序设计时可以灵活调整,都可以使破解的难度指数级增长。

Salt 虽然大大提高了安全系数,但也并非绝对安全。

参考链接:https://libuchao.com/2013/07/05/password-salt

2、密码加密方式

第一代密码:

采用明文存储密码的。优缺点:设计思路简单,但数据库一旦泄露,后非常严重。

第二代密码:

存储加密后的密码,典型的加密算法是MD5和SHA1。当用户登录时,会把用户输入的密码执行MD5(或SHA1)。

第三代密码:

用户注册的时候,数据库中存入的不是明文密码,也不是简单的对明文密码进行散列,而是 MD5( 明文密码 + Salt)。

3、MD5(Message-Digest Algorithm5)与SHA(Secure Hash Algorithm)

(1)MD5与SHA的应用领域。

MD5和SHA-1是当前应用最为广泛的两种单向散列算法,如信息安全和数字签名等各个领域。当前几乎所有主要的信息安全协议中都使用了SHA-1或MD5,包括SSL(HTTPS就是SSL的一种应用)、TLS、PGP、SSH、S/MIME和IPSec。

SHA-1基于MD5,MD5又基于MD4。

哈希(Hash):Hash主要用于信息安全领域中的加密算法,它把一些不同长度的信息转换成杂乱的128位的编码,叫做Hash值,又称‘散列值’。简单的说就是一种将任意长度的消息压缩到某一固定长度的消息摘要的函数。

(2)MD5的特点:MD5是一种不可逆的加密算法,具有高度的离散性(也就是说,原信息的一点点变化就会导致MD5的巨大变化),这个码有128位那么长,所以任意信息之间具有相同MD5码的可能性非常之低,通常被认为是不可能的。

(3)安全协议SSH公钥登录

公钥登录是为了解决每次登录服务器都要输入密码的问题,流行使用RSA加密方案,主要流程包含:

1、客户端生成RSA公钥和私钥

2、客户端将自己的公钥存放到服务器

3、客户端请求连接服务器,服务器将一个随机字符串发送给客户端

4、客户端根据自己的私钥加密这个随机字符串之后再发送给服务器

5、服务器接受到加密后的字符串之后用公钥解密,如果正确就让客户端登录,否则拒绝。这样就不用使用密码了。

生成密钥对




最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 这篇文章主要讲述在Mobile BI(移动商务智能)开发过程中,在网络通信、数据存储、登录验证这几个方面涉及的加密...
    雨_树阅读 2,717评论 0 6
  • 本文主要介绍移动端的加解密算法的分类、其优缺点特性及应用,帮助读者由浅入深地了解和选择加解密算法。文中会包含算法的...
    苹果粉阅读 11,586评论 5 29
  • 本文转载,出处如下:数字证书原理 文中首先解释了加密解密的一些基础知识和概念,然后通过一个加密通信过程的例子说明了...
    随安居士阅读 1,721评论 1 8
  • 关于惩罚的问题 1、对不会说话的孩子,当他去摸不能摸的东西时,可以多次重复提醒,给他现在以后都有用的提示,但不要打...
    甸妈阅读 113评论 0 0
  • 奔跑的白石头, 行走的嫩垂柳, 飞翔的狗在初夏和晚秋, 我把行囊背在身后, 我在这自由的世界里奔走, 我和每一个人...
    暮色柒光年外阅读 178评论 0 1