- 浏览: 1076755 次
- 性别:
- 来自: 武汉
最新评论
-
flyfeifei66:
list<bean> bean 中有 list&l ...
freemarker中的list -
BelloVersion:
第五种错误Remote host closed connect ...
客户端如何使用httpclient向https服务器发送数据 -
willxue:
看了半天 前面说的是错的?。。。
反向键索引的原理和用途 -
liulanghan110:
quainter 写道麻烦博主,参数为数组时,paramete ...
MYBATIS 的parameter -
quainter:
麻烦博主,参数为数组时,parameterType怎么写啊?
MYBATIS 的parameter
文章列表
查看单个的SQL方法
一.采用explain plan
如果PLAN_TABLE表不存在,执行$ORACLE_HOME/rdbms/admin/utlxplan.sql创建plan_table表。
第一步:explain plan for select * from ......
第二步:select * from table(DBMS_XPLAN.Display)
二.使用oracle第三方工具
...
好像很多地方都用到了延迟加载,JS里面,Hibernate里面,那么什么是延迟加载呢?
考虑这样的事情,你想看完电视了去吃水果。在你看电视的时候,就从冰箱把水果拿到身边了。然后看完了电视就开始吃水果了。
那么延迟加载就是,你想看完电视了去吃水果。在你看电视的时候,水果并没有拿到身边。等看完了电视你需要吃水果的时候,在去冰箱拿。
延迟加载就是,当真正需要数据的时候,才去取数据。
来看看延迟加载的应用。当一个网页有很多图片时,如果图片全部加载完再显示网页会很慢。可以这样,先取上面的图片,然后显示网页。当往下拖动网页的时候,才去取下面的图片。这样能快速显示网页,增加用户 ...
HttpClient传输数据时,最好设置下字符集,不然可能会出现一些问题,设置字符集的方式如下:
HttpClient httpClient = new HttpClient();
client.getParams().setParameter(
HttpMethodParams.HTTP_CONTENT_CHARSET, CONTENT_CHARSET);
在利用数字证书加密时,会出现这样的异常 :Data must not be longer than 117 bytes。
解密时也会出现这样的异常。
解决办法是:分段加密和分段解密
代码如下:
// 加密时超过117字节就报错。为此采用分段加密的办法来加密
StringBuilder sb = new StringBuilder();
for (int i = 0; i < data.length; i += 100) {
byte[] doFinal = cipher.doFinal(ArrayUtils.subarray(data, i,
...
Java 6提供了完善的数字证书管理实现,我们几乎无需关注相关具体算法,仅通过操作密钥库和数字证书就可完成相应的加密/解密和签名/验证操作。密钥库管理私钥,数字证书管理公钥,私钥和密钥分属消息传递两方,进行加密消息传递。
因此,我们可以将密钥库看做私钥相关操作的入口,数字证书则是公钥相关操作的入口。
首先用keytools产生密钥库
1.打开cmd
2.输入d: 回车
3.输入下面的命令
keytool -genkey -dname "CN=localhost, OU=NC, O=Shanghai University, L=ZB, ST= ...
非对称加密
非对称加密有一对密钥,公钥和私钥。可以用公钥加密,也可以用私钥加密。不过,公钥加密必须用私钥解密,私钥加密必须用公钥解密。如果不对应,则会报这样的异常
javax.crypto.BadPaddingException: Data must start with zero
代码如下:
import java.security.KeyPair;
import java.security.KeyPairGenerator;
import javax.crypto.Cipher;
public class test1 {
//公钥加密
p ...
代码如下:
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.util.Random;
import javax.crypto.Cipher;
import javax.crypto.SecretKey;
import javax.crypto.SecretKeyFactory;
import javax.crypto.spec.PBEKeySpec;
import javax.crypto.spec.PBEParameterSpec;
public class te ...
凯撒密码作为一种最为古老的对称加密体制,在古罗马的时候都已经很流行,他的基本思想是:通过把字母移动一定的位数来实现加密和解密。例如,如果密匙是把
明文字母的位数向后移动三位,那么明文字母B就变成了密文的E,依次类推,X将变成A,Y变成B,Z变成C,由此可见,位数就是凯撒密码加密和解密的密
钥。
JAVA实现代码如下:
import java.io.UnsupportedEncodingException;
public class test1 {
public String encrypt(String str, Integer key) {
Str ...
对称加密(也叫私钥加密)指加密和解密使用相同密钥的加密算法。它要求发送方和接收方在安全通信之前,商定一个密钥。对称算法的安全性依赖于密钥,泄漏密钥就意味着任何人都可以对他们发送或接收的消息解密,所 ...
在TOMCAT下创建HTTPS项目的方法
和用JAVA签发数字证书
中说了怎么用TOMCAT建立HTTPS项目(单项认证)和怎么自己签发数字证书。下面总结下过程,经过我的测试,是没问题的。
1.建立单项认证。
--命令如下:
打开cmd
输入d:
输入md keys
输入cd keys
创建CA证书库(密钥对)
keytool -genkey -dname "CN=ca, OU=NC, O=Shanghai University, L=ZB, ST=Shanghai,C=CN" -alias caserver - ...
异常信息如下:
javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
原因:服务器的证书不被信任。一 ...
前一篇http://zhuyuehua.iteye.com/blog/1101041 说到创建TOMCAT下HTTPS项目,现在接着说,如何签发证书。
打开cmd
1.输入D:
2.输入cd keys
3.输入命令查看创建的密钥库的证书列表
keytool -list -v -keystore mykey.keystore -storepass 123456
如下图:
4. 之前导出过server.cer文件,把这个文件安装到操作系统,过程默认。
5.创建一个密钥对,和之前一样,输入如下命令:
--创建密钥对
keytool -genkey - ...
BASE64编码一般是通过URL传递数据时,防止特殊字符不能传递的。它能将特殊字符变成普通的字符,再传递出去。
接收方得到数据后需要先解码,再得到原来的数据
代码如下:
import sun.misc.BASE64Decoder;
import sun.misc.BASE64Encoder;
public class test {
public static void main(String args[]) throws Exception{
String str = "最远的距离";
byte[] x = str.get ...
我们自己建立的证书不被信任,要获得受信任是数字证书,只能去专门的CA机构申请。
这里是一个免费的数字证书网站 https://www.trustasia.com/
注:我在这个网站没有申请成功免费证书,不晓得是不是网站的问题,不过可以看下过程
下面说下获得数字证书建立SSL过程。(注:一下内容转自该网站,如有版权问题,请联系我)
Tomcat 6.x 生成CSR
第一步:生成证书请求文件
(CSR)
进入
Java_JRE\bin目录,如
cd C:\PROGRA~1\Java\jre1.6.0_10\bin,运行如下命令:输入 ...
作者:junsan
QQ:334620162
发布网址:http://www.javastar.org/?p=120
这周一个项目上线,使用了SSL双向验证的方式保护WebService接口,原本自己使用keytool签发的服务器和客户端证书在开发和测试的时候都是正常的,但是,在 ...