- 博客(13)
- 资源 (12)
- 收藏
- 关注
原创 java 加密之非对称加密算法
简介对称加密算法在加密和解密时使用的是同一个秘钥;而非对称加密算法需要两个密钥来进行加密和解密,这两个秘钥是公开密钥(public key,简称公钥)和私有密钥(private key,简称私钥)。在非对称加密中使用的主要算法有:RSA、Elgamal、背包算法、Rabin、D-H、ECC等。RSARSA是基于大数因子分解难题所实现的加密算法,并且RSA不只可以实现加密,还可以在数字签名中使用。JD
2017-02-27 18:16:35 403
原创 java 加密之对称加密算法
简介对称加密是指加密和解密使用相同密钥的加密算法。在对称加密算法中,数据发送方将明文和加密密钥一起经过算法处理后,使其变成复杂的密文发送出去。接收方收到密文后,若想解读原文,则需要使用加密用过的密钥及相同算法的逆算法对密文进行解密,才能使其恢复成可读明文。在大多数的对称算法中,加密密钥和解密密钥是相同的,所以它要求发送方和接收方在安全通信之前,商定一个密钥。对称算法的安全性依赖于密钥,密钥泄漏意味着
2017-02-27 16:50:03 3183
原创 java 加密之消息摘要算法
简介消息摘要算法的主要特征是加密过程不需要密钥,并且经过加密的数据无法被解密,即单向加密,只有输入相同的明文数据经过相同的消息摘要算法才能得到相同的密文。消息摘要算法不存在密钥的管理与分发问题,适合于分布式网络上使用。由于其加密计算的工作量相当巨大,所以以前的这种算法通常只用于数据量有限的情况下的加密,例如计算机的口令就是用不可逆加密算法加密的用途一般地,把对一个信息的摘要称为该消息的指纹或数字签名
2017-02-27 09:36:26 846
原创 java 加密之 Base64 算法
Base64 简介Base64是网络上最常见的用于传输8Bit字节代码的编码方式之一,可用于在HTTP环境下传递较长的标识信息。例如:在Java Persistence系统Hibernate中,就采用了Base64来将一个较长的唯一标识符(一般为128-bit的UUID)编码为一个字符串,用作HTTP表单和HTTP GET URL中的参数。简而言之,base64其实不是安全领域下的加解密算法,只能算
2017-02-25 16:24:15 500
原创 初入 java 注解(三)拼装SQL语句
来源本篇代码抽取自一个公司的持久层框架,用来代替 Hibernate 的解决方案,核心代码是通过注解来实现的。需求1、有一张学生表,字段包括学号、学生名字、性别、手机号码、所在城市。 2、便捷地对每个字段或字段的组合条件进行检索,并打印出SQL语句。编码1、编写 Student 类public class Student { private int ID; private Strin
2017-02-25 15:07:12 1739
原创 初入 java 注解(二)
目录:解析注解测试注解生命周期测试注解的继承性解析注解概括的讲,就是通过反射获取类或成员上的运行时注解信息,从而实现动态控制程序运行的逻辑。1、自定义注解@Target({ElementType.METHOD,ElementType.TYPE})@Retention(RetentionPolicy.RUNTIME)@Inherited@Documentedpublic @interface
2017-02-24 22:22:09 282
原创 初入 java 注解(一)
注解定义注解(Annotation),也叫元数据,一种代码级别的说明。它是JDK1.5及以后版本引入的一个特性,与类、接口、枚举是在同一个层次。它可以声明在包、类、字段、方法、局部变量、方法参数等的前面,用来对这些元素进行说明、注释。注解作用编写文档:通过代码里标识的元数据生成文档。代码分析:通过代码里标识的元数据对代码进行分析。编译检查:通过代码里标识的元数据让编译器能实现基本的编译检查。JDK内
2017-02-24 21:19:57 470
翻译 08-重写 equals 时请遵守通用约定
重写 equals 方法有许多的重写方式会导致错误,所以要么不重写 equals 方法,要么重写时就要尽力遵守通用约定。一、可以不重写equals方法的情况如果不重写equals方法,那该类的每个实例都只与它自身相等,而有时候这就是我们需要的。1、类的每个实例本质上都是唯一的 对于代表活动实体(例如 Thread),而不是值(Value)的类来说确实如此,Object提供的equals实现对于这些
2017-02-17 16:22:06 402
原创 java 异常链
使用异常链我们可以一层一层的去追溯错误的产生和传递,例如:我在mian方法中调用method1方法,在method1方法中调用method2方法,在method2方法中抛出一个空指针异常。public class Test { public static void main(String[] args) { Test t = new Test(); try {
2017-02-16 17:24:41 571
翻译 07-避免使用终结方法
本条目大意尽量避免在类中使用终结(finalize)方法,在里面写一些释放类中资源的语句。为什么要避免使用 finalize方法?1、java语言规范不仅不保证 finalize方法会被及时地执行,而且根本不保证他们会被执行。 2、System.gc 和 System.runFinalization 这两个方法只是增加了finalizer 方法被执行的机会。 3、唯一能保证 finalize 方
2017-02-16 15:02:06 533
翻译 06-消除过期的对象引用
java 虽然有垃圾回收机制,但是对于被引用的对象,就算我们已经不再使用,它的回收机制可能也不会进行回收,称之为内存泄漏。书中有这样一个例子,先看代码:public class Stack { public Object[] elements;//原文是private,便于测试改成public private int size = 0; private static final
2017-02-15 22:15:22 393
翻译 05-避免创建不必要的对象
本节书中从避免创建不必要的对象出发,提到了大概五个方面,如下:1、 String str1=new String("hello");每次执行都会创建String实例。 改进后 String str2="hello";所有在同一台虚拟机中运行的代码,只要它们包含相同的字符串字面常量,该对象就会被重用,而不是创建新的对象。2、 运行:Integer integer1 = Integer.valu
2017-02-15 14:07:46 467
翻译 04-通过私有构造器强化不可实例化的能力
有时候需要编写只包含静态方法和静态域的类,其一般作为工具类使用,这样的类不需要被实例化。然而在缺少显式构造器的情况下,编译器会自动提供一个公有的、无参的缺省构造器(dafault constructor),所以常常可以看到一些被无意识地实例化的类。这就需要强化此类不可实例化的能力,由于只有当类不包含显式的构造器时,编译器才会生成缺省的构造器,因此我们只需要将这个类包含私有构造器,它就不能被实例化了,
2017-02-14 20:34:10 666
基于最新SSH的个人信息管理系统
2017-04-06
期末大作业-jsp之课堂帮
2017-01-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人