<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/silentworld</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; silentworld]]></copyright><item><title><![CDATA[JAVA中重写equals()方法为什么要重写hashcode()方法?]]></title><link>https://blog.youkuaiyun.com/silentworld/article/details/20060109</link><guid>https://blog.youkuaiyun.com/silentworld/article/details/20060109</guid><author>silentworld</author><pubDate>Thu, 27 Feb 2014 17:03:37 +0800</pubDate><description><![CDATA[object对象中的 public boolean equals(Object obj)，对于任何非空引用值 x 和 y，当且仅当 x 和 y 引用同一个对象时，此方法才返回 true；
注意：当此方法被重写时，通常有必要重写 hashCode 方法，以维护 hashCode 方法的常规协定，该协定声明相等对象必须具有相等的哈希码。如下：
(1)当obj1.equals(obj2)为true时]]></description><category></category></item><item><title><![CDATA[Java加密技术（十二）——*.PFX(*.p12)&个人信息交换文件]]></title><link>https://blog.youkuaiyun.com/silentworld/article/details/19990047</link><guid>https://blog.youkuaiyun.com/silentworld/article/details/19990047</guid><author>silentworld</author><pubDate>Wed, 26 Feb 2014 17:12:10 +0800</pubDate><description><![CDATA[今天来点实际工作中的硬通货！ 
与计费系统打交道，少不了用到加密/解密实现。为了安全起见，通过非对称加密交换对称加密密钥更是不可或缺。那么需要通过什么载体传递非对称算法公钥/私钥信息？数字证书是公钥的载体，而密钥库可以包含公钥、私钥信息。 
JKS和PKCS#12都是比较常用的两种密钥库格式/标准。对于前者，搞Java开发，尤其是接触过HTTPS平台的朋友，并不陌生。JKS文件（通常为*.jk]]></description><category></category></item><item><title><![CDATA[Java加密技术（十一）——双向认证]]></title><link>https://blog.youkuaiyun.com/silentworld/article/details/19990001</link><guid>https://blog.youkuaiyun.com/silentworld/article/details/19990001</guid><author>silentworld</author><pubDate>Wed, 26 Feb 2014 17:11:25 +0800</pubDate><description><![CDATA[对于双向认证，做一个简单的描述。 
服务器端下发证书，客户端接受证书。证书带有公钥信息，用于验证服务器端、对数据加密/解密，起到OSI五类服务的认证（鉴别）服务和保密性服务。 

这只是单向认证，为什么？因为客户端可以验证服务器端，但服务器端不能验证客户端！ 
如果客户端也有这样一个证书，服务器端也就能够验证客户端，这就是双向认证了！ 

换言之，当你用银行的“U盾”之类的U盘与银行账]]></description><category></category></item><item><title><![CDATA[Java加密技术（十）——单向认证]]></title><link>https://blog.youkuaiyun.com/silentworld/article/details/19989931</link><guid>https://blog.youkuaiyun.com/silentworld/article/details/19989931</guid><author>silentworld</author><pubDate>Wed, 26 Feb 2014 17:10:39 +0800</pubDate><description><![CDATA[在Java
 加密技术（九）中，我们使用自签名证书完成了认证。接下来，我们使用第三方CA签名机构完成证书签名。 
    这里我们使用thawte提供的测试用21天免费ca证书。 
    1.要在该网站上注明你的域名，这里使用www.zlex.org作为测试用域名（请勿使用该域名作为你的域名地址，该域名受法律保护！请使用其他非注册域名！）。 
    2.如果域名有效，你会收到邮件要求你]]></description><category></category></item><item><title><![CDATA[Java加密技术（九）——初探SSL]]></title><link>https://blog.youkuaiyun.com/silentworld/article/details/19989901</link><guid>https://blog.youkuaiyun.com/silentworld/article/details/19989901</guid><author>silentworld</author><pubDate>Wed, 26 Feb 2014 17:09:54 +0800</pubDate><description><![CDATA[在Java加密技术（八）中，我们模拟了一个基于RSA非对称加密网络的安全通信。现在我们深度了解一下现有的安全网络通信——SSL。 
    我们需要构建一个由CA机构签发的有效证书，这里我们使用上文中生成的自签名证书zlex.cer 
    这里，我们将证书导入到我们的密钥库。 



Shell代码  



keytool -import -alias www.zlex.]]></description><category></category></item><item><title><![CDATA[Java加密技术（八）——数字证书]]></title><link>https://blog.youkuaiyun.com/silentworld/article/details/19989853</link><guid>https://blog.youkuaiyun.com/silentworld/article/details/19989853</guid><author>silentworld</author><pubDate>Wed, 26 Feb 2014 17:08:59 +0800</pubDate><description><![CDATA[本篇的主要内容为Java证书体系的实现。 

请大家在阅读本篇内容时先阅读 Java加密技术（四），预先了解RSA加密算法。 

在构建Java代码实现前，我们需要完成证书的制作。 
1.生成keyStroe文件 
在命令行下执行以下命令： 


Shell代码  



keytool -genkey -validity 36000 -alias www.zlex.or]]></description><category></category></item><item><title><![CDATA[Java加密技术（七）——非对称加密算法最高级ECC]]></title><link>https://blog.youkuaiyun.com/silentworld/article/details/19989783</link><guid>https://blog.youkuaiyun.com/silentworld/article/details/19989783</guid><author>silentworld</author><pubDate>Wed, 26 Feb 2014 17:08:22 +0800</pubDate><description><![CDATA[ECC 
ECC-Elliptic Curves Cryptography，椭圆曲线密码编码学，是目前已知的公钥体制中，对每比特所提供加密强度最高的一种体制。在软件注册保护方面起到很大的作用，一般的序列号通常由该算法产生。 
    当我开始整理《Java加密技术（二）》的时候，我就已经在开始研究ECC了，但是关于Java实现ECC算法的资料实在是太少了，无论是国内还是国外的资料，无论是官方还]]></description><category></category></item><item><title><![CDATA[Java加密技术（六）——数字签名算法DSA]]></title><link>https://blog.youkuaiyun.com/silentworld/article/details/19989663</link><guid>https://blog.youkuaiyun.com/silentworld/article/details/19989663</guid><author>silentworld</author><pubDate>Wed, 26 Feb 2014 17:07:28 +0800</pubDate><description><![CDATA[接下来我们介绍DSA数字签名，非对称加密的另一种实现。 
DSA 
DSA-Digital Signature Algorithm 是Schnorr和ElGamal签名算法的变种，被美国NIST作为DSS(DigitalSignature Standard)。简单的说，这是一种更高级的验证方式，用作数字签名。不单单只有公钥、私钥，还有数字签名。私钥加密生成数字签名，公钥验证数据及签名。如果数据]]></description><category></category></item><item><title><![CDATA[Java加密技术（五）——非对称加密算法的由来DH]]></title><link>https://blog.youkuaiyun.com/silentworld/article/details/19988741</link><guid>https://blog.youkuaiyun.com/silentworld/article/details/19988741</guid><author>silentworld</author><pubDate>Wed, 26 Feb 2014 17:00:38 +0800</pubDate><description><![CDATA[getPrivateKey(aKeyMap);  
  
        System.err.println("甲方公钥:\r" + aPublicKey);  
        System.err.println("甲方私钥:\r" + aPrivateKey);  
          
        // 由甲方公钥产生本地密钥对儿  
        Map bKeyMa]]></description><category></category></item><item><title><![CDATA[Java加密技术（四）——非对称加密算法RSA]]></title><link>https://blog.youkuaiyun.com/silentworld/article/details/19988633</link><guid>https://blog.youkuaiyun.com/silentworld/article/details/19988633</guid><author>silentworld</author><pubDate>Wed, 26 Feb 2014 16:59:58 +0800</pubDate><description><![CDATA[Map.get(PUBLIC_KEY);  
  
        return encryptBASE64(key.getEncoded());  
    }  
  
    /** 
     * 初始化密钥 
     *  
     * @return 
     * @throws Exception 
     */  
    public static ]]></description><category></category></item><item><title><![CDATA[Java加密技术（三）——PBE算法]]></title><link>https://blog.youkuaiyun.com/silentworld/article/details/19988501</link><guid>https://blog.youkuaiyun.com/silentworld/article/details/19988501</guid><author>silentworld</author><pubDate>Wed, 26 Feb 2014 16:59:04 +0800</pubDate><description><![CDATA[除了DES，我们还知道有DESede(TripleDES,就是3DES)、AES、Blowfish、RC2、RC4(ARCFOUR)等多种对称加密方式，其实现方式大同小异，这里介绍对称加密的另一个算法——PBE 

PBE 
    PBE——Password-based encryption（基于密码加密）。其特点在于口令由用户自己掌管，不借助任何物理媒体；采用随机数（这里我们叫做盐）杂凑]]></description><category></category></item><item><title><![CDATA[Java加密技术（二）——对称加密算法DES&AES]]></title><link>https://blog.youkuaiyun.com/silentworld/article/details/19988239</link><guid>https://blog.youkuaiyun.com/silentworld/article/details/19988239</guid><author>silentworld</author><pubDate>Wed, 26 Feb 2014 16:57:21 +0800</pubDate><description><![CDATA[接下来我们介绍对称加密算法，最常用的莫过于DES数据加密算法。 
DES 
DES-Data Encryption Standard,即数据加密算法。是IBM公司于1975年研究成功并公开发表的。DES算法的入口参数有三个:Key、Data、Mode。其中Key为8个字节共64位,是DES算法的工作密钥;Data也为8个字节64位,是要被加密或被解密的数据;Mode为DES的工作方式,有两种:]]></description><category></category></item><item><title><![CDATA[Java加密技术（一）——BASE64与单向加密算法MD5&SHA&MAC]]></title><link>https://blog.youkuaiyun.com/silentworld/article/details/19987871</link><guid>https://blog.youkuaiyun.com/silentworld/article/details/19987871</guid><author>silentworld</author><pubDate>Wed, 26 Feb 2014 16:55:04 +0800</pubDate><description><![CDATA[加密解密，曾经是我一个毕业设计的重要组件。在工作了多年以后回想当时那个加密、解密算法，实在是太单纯了。 
    言归正传，这里我们主要描述Java已经实现的一些加密解密算法，最后介绍数字证书。 
    如基本的单向加密算法： 

BASE64 严格地说，属于编码格式，而非加密算法MD5(Message Digest algorithm 5，信息摘要算法)SHA(Secure Hash]]></description><category></category></item><item><title><![CDATA[Oracle分页查询]]></title><link>https://blog.youkuaiyun.com/silentworld/article/details/19915365</link><guid>https://blog.youkuaiyun.com/silentworld/article/details/19915365</guid><author>silentworld</author><pubDate>Tue, 25 Feb 2014 15:10:57 +0800</pubDate><description><![CDATA[方法一:(适合小数据量)
SELECT * FROM
(
  SELECT ROWNUM as 别名 rn, 别名d.* FROM 表名1 as 别名 d
  WHERE ROWNUM
)
WHERE别名 rn>=11;
 
方法二速度较稳定,推荐使用
SELECT * FROM
(
   SELECT ROW_NUMBER() OVER (ORDER BY id) AS 别]]></description><category></category></item><item><title><![CDATA[HttpClient 4.3超时设置]]></title><link>https://blog.youkuaiyun.com/silentworld/article/details/19901291</link><guid>https://blog.youkuaiyun.com/silentworld/article/details/19901291</guid><author>silentworld</author><pubDate>Tue, 25 Feb 2014 10:15:59 +0800</pubDate><description><![CDATA[HttpClient 4.3。HttpClient这货和Lucene一样，每个版本的API都变化很大，这有点让人头疼。就好比创建一个HttpClient对象吧，每一个版本的都不一样，

3.X是这样的







1

HttpClient
 httpClient=new DefaultHttpClient();






4.3是这样的



]]></description><category></category></item><item><title><![CDATA[HttpClient4.1.1到4.2升级timeout等参数设定的问题]]></title><link>https://blog.youkuaiyun.com/silentworld/article/details/19899267</link><guid>https://blog.youkuaiyun.com/silentworld/article/details/19899267</guid><author>silentworld</author><pubDate>Tue, 25 Feb 2014 09:40:48 +0800</pubDate><description><![CDATA[HttpClient是不错的http工具，可是每次升级api都变化很大，可能是4.x版本时间太短还不够稳定吧。今天在升级的时候遇到了一个问题。http请求设定的超时时间没有用了。之前获取httpclient实例的工具类如下



01import

org.apache.http.conn.ClientConnectionManager;

02import

org.apac]]></description><category></category></item><item><title><![CDATA[Springmvc构造RESTful详细讲解]]></title><link>https://blog.youkuaiyun.com/silentworld/article/details/19899051</link><guid>https://blog.youkuaiyun.com/silentworld/article/details/19899051</guid><author>silentworld</author><pubDate>Tue, 25 Feb 2014 09:35:38 +0800</pubDate><description><![CDATA[Rest介绍

 

/blog/1　HTTP　GET　=>　　得到id　=　1的blog
/blog/1　HTTP　DELETE　=>　删除　id　=　1的blog
/blog/1　HTTP　PUT　=>　　更新id　=　1的blog
/blog　　　HTTP　POST　=>　　新增BLOG




    以下详细解一下spring rest使用.

    首先，]]></description><category></category></item><item><title><![CDATA[HttpClient4 Post XML到一个服务器上]]></title><link>https://blog.youkuaiyun.com/silentworld/article/details/19825287</link><guid>https://blog.youkuaiyun.com/silentworld/article/details/19825287</guid><author>silentworld</author><pubDate>Mon, 24 Feb 2014 15:24:35 +0800</pubDate><description><![CDATA[现在网上介绍的HttpClient基本上全是3.x版本的内容，HttpClient4的API变化相对3已经变化很大，对HttpClient4做了简单的研究后，完成了一个HttpClient4 Post XML功能。

 

对于POST方式，最先想到的就是表单提交了，POST XML自然想到的就是定义一个变量名，比如叫xmldata，然后将这个参数的值POST出去，在服务端接收的时候，自然]]></description><category></category></item><item><title><![CDATA[用RSA加密实现Web登录密码加密传输]]></title><link>https://blog.youkuaiyun.com/silentworld/article/details/12554631</link><guid>https://blog.youkuaiyun.com/silentworld/article/details/12554631</guid><author>silentworld</author><pubDate>Thu, 10 Oct 2013 08:46:03 +0800</pubDate><description><![CDATA[通常我们做一个Web应用程序的时候都需要登录，登录就要输入用户名和登录密码，并且，用户名和登录密码都是明文传输的，这样就有可能在中途被别人拦截，尤其是在网吧等场合。

这里顺带一个小插曲，我以前有家公司，办公室装修时候安排的网口相对较少，不太够用，于是我和另外一个同事使用了一个hub来共享一个网口，这就导致了很有趣的现象：任何他的网络包我都能抓得到，当然了，我的他也能抓得到。这是不是有很大的安]]></description><category></category></item><item><title><![CDATA[将博客搬至优快云]]></title><link>https://blog.youkuaiyun.com/silentworld/article/details/9720729</link><guid>https://blog.youkuaiyun.com/silentworld/article/details/9720729</guid><author>silentworld</author><pubDate>Fri, 02 Aug 2013 18:31:33 +0800</pubDate><description><![CDATA[将博客搬至优快云(技术博客）]]></description><category></category></item></channel></rss>