java
文章平均质量分 73
chongqingnantian
这个作者很懒,什么都没留下…
展开
-
java i/o
java.io在Java类库中,IO部分的内容是很庞大的,因为它涉及的领域很广泛:标准输入输出,文件的操作,网络上的数据流,字符串流,对象流,zip文件流....。对于我们常用的GBK 中,英文是占用1个字节,中文是2个对于UTF-8,英文是1个,中文是3个对于Unicode,英文中文都是2个Java 的流操作分为字节流和字符流两种。1. 字节流所有的读操作都继承自一个公共超类 java.io.I...原创 2010-07-16 14:33:11 · 66 阅读 · 0 评论 -
Java KeyStore的类型
JKS和JCEKS是Java密钥库(KeyStore)的两种比较常见类型(我所知道的共有5种,JKS, JCEKS, PKCS12, BKS,UBER)。JKS的Provider是SUN,在每个版本的JDK中都有,JCEKS的Provider是SUNJCE,1.4后我们都能够直接使用它。JCEKS在安全级别上要比JKS强,使用的Provider是JCEKS(推荐),尤其在保护KeySto...原创 2014-04-18 15:05:41 · 133 阅读 · 0 评论 -
对https的理解
一、什么是HTTPS在说HTTPS之前先说说什么是HTTP,HTTP就是我们平时浏览网页时候使用的一种协议。HTTP协议传输的数据都是未加密的,也就是明文的,因此使用HTTP协议传输隐私信息非常不安全。为了保证这些隐私数据能加密传输,于是网景公司设计了SSL(Secure Sockets Layer)协议用于对HTTP协议传输的数据进行加密,从而就诞生了HTTPS。SSL目前的版本是3.0,被...原创 2014-03-20 11:39:26 · 129 阅读 · 0 评论 -
http协议 文件下载原理及多线程断点续传
最近研究了一下关于文件下载的相关内容,觉得还是写些东西记下来比较好。起初只是想研究研究,但后来发现写个可重用性比较高的模块还是很有必要的,我想这也是大多数开发人员的习惯吧。对于HTTP协议,向服务器请求某个文件时,只要发送类似如下的请求即可: GET /Path/FileName HTTP/1.0 Host: www.server.com:80 Accept: */* User-Agent: ...原创 2014-06-18 17:28:41 · 163 阅读 · 0 评论 -
java正则表达式
在Sun的Java JDK 1.40版本中,Java自带了支持正则表达式的包,本文就抛砖引玉地介绍了如何使用java.util.regex包。 可粗略估计一下,除了偶尔用Linux的外,其他Linu x用户都会遇到正则表达式。正则表达式是个极端强大工具,而且在字符串模式-匹配和字符串模式-替换方面富有弹性。在Unix世界里,正则表达式几乎没有什么限制,可肯定的是,它应用非常之广泛。 正...原创 2012-08-28 11:34:01 · 96 阅读 · 0 评论 -
JAVA中使用FTPClient实现文件上传下载
在JAVA程序中,经常需要和FTP打交道,比如向FTP服务器上传文件、下载文件,本文简单介绍如何利用jakarta commons中的FTPClient(在commons-net包中)实现上传下载文件。所用到的jar包有: commons-net-1.4.1.jar jakarta-oro.jar 一、上传文件文件上传源代码 ...原创 2012-08-24 15:48:41 · 79 阅读 · 0 评论 -
java 数字签名
发送报文时,发送方用一个哈希函数从报文文本中生成报文摘要,然后用自己的私人密钥对这个摘要进行加密,这个加密后的摘要将作为报文的数字签名和报文一起发送给接收方,接收方首先用与发送方一样的哈希函数从接收到的原始报文中计算出报文摘要,接着再用发送方的公用密钥来对报文附加的数字签名进行解密,如果这两个摘要相同、那么接收方就能确认该数字签名是发送方的。 数字签名的基础是公钥和私钥的非对称加...原创 2012-08-07 11:04:26 · 96 阅读 · 0 评论 -
BigDecimal四舍五入的问题
System.out.println(new BigDecimal(1.555).setScale(2, BigDecimal.ROUND_HALF_UP)); 输出:1.55 System.out.println(new BigDecimal(0.555).setScale(2, BigDecimal.ROUND_HALF_UP)); 输出:0.56System.out.pr...原创 2013-03-15 10:33:42 · 91 阅读 · 0 评论 -
Java进行数据加密
本文主要谈一下密码学中的加密和数字签名,以及其在java中如何进行使用。对密码学有兴趣的伙伴,推荐看Bruce Schneier的着作:Applied Crypotography。在jdk1.5的发行版本中安全性方面有了很大的改进,也提供了对RSA算法的直接支持,现在我们从实例入手解决问题(本文仅是作为简单介绍): 一、密码学上常用的概念 1)消息摘要: 这是一种与消息认证码结合使用...原创 2012-06-26 16:41:38 · 109 阅读 · 0 评论 -
常见加密算法
DES(Data Encryption Standard):对称算法,数据加密标准,速度较快,适用于加密大量数据的场合; 3DES(Triple DES):是基于DES的对称算法,对一块数据用三个不同的密钥进行三次加密,强度更高; RC2和 RC4:对称算法,用变长密钥对大量数据进行加密,比 DES 快; IDEA(International Data Encryption...原创 2012-06-26 16:24:56 · 89 阅读 · 0 评论 -
消息摘要
消息摘要(Message Digest)又称为数字摘要(Digital Digest)。它是一个唯一对应一个消息或文本的固定长度的值,它由一个单向Hash加密函数对消息进行作用而产生。如果消息在途中改变了,则接收者通过对收到消息的新产生的摘要与原摘要比较,就可知道消息是否被改变了。因此消息摘要保证了消息的完整性。 消息摘要采用单向Hash 函数将需加密的明文"摘要"成一串128bit的密文,这...原创 2012-06-26 16:22:32 · 205 阅读 · 0 评论 -
UML 依赖 关联 聚合 组合
<1>依赖依赖关系用虚线加箭头表示,如图所示:上图表示:Animal类依赖于Water类(动物依赖于水)。依赖是类的五种关系中耦合最小的一种关系。因为依赖关系在生成代码的时候,这两个关系类都不会增加属性。这种微弱的关系可以用类之间的相互了解的程度来说明。(下图为代码生成图) 由上图可见生成的代码中Animal类的属性中没...原创 2012-06-25 09:54:59 · 71 阅读 · 0 评论 -
Java sslSocket 聊天实例
-----------------------------------------------------server------------------------------------------------- package com.test.http; /* *SSL Socket的服务器端 *@Author lixingang */ import j...原创 2012-06-18 10:46:25 · 142 阅读 · 0 评论 -
keytool证书与密钥管理
1)创建服务端密钥库>keytool -genkey -keystore c:\serverkey.jks -keyalg rsa -alias ssl1 -validity 700上述命令中:-genkey 生成密钥对-keystore 指定密码仓库的文件地址-keyalg 密钥所使用的算法-alias 密钥别名..使用密钥时是使用此别名来区分的-validit...原创 2012-06-18 10:44:35 · 148 阅读 · 0 评论 -
Java ssl socket 双向认证
总体思路步骤是1. 分别生成客户端何服务器端密钥库keytool -genkey -keystore c:\client.jks -keyalg rsa -alias ssl1 -validity 700keytool -genkey -keystore c:\serv.jks -keyalg rsa -alias ssl1 –validity 7002. ...原创 2012-06-18 10:37:04 · 144 阅读 · 0 评论 -
从JKS文件中读取密钥
JKS文件是一个java中的密钥管理库,里面可以放各种密钥文件,JKS文件的生成这里暂且不说,这里主要是关注如何从JKS文件中将已有的密钥读取出来。 下面是两个java读取JKS文件中密钥的方法当然在看懂下面两个方法之前要对JKS文件的结构有所了解:JKS文件就好像一个仓库,里面可以放很多的东西,这里只存放一类东西就是密钥,仓库当然会有一把锁,防范别人随便乱拿,这个就是JKS文件的...原创 2012-06-17 23:45:10 · 169 阅读 · 0 评论 -
JAVA String.format 方法使用介绍
JAVA String.format 方法使用介绍1.对整数进行格式化:%[index$][标识][最小宽度]转换方式 我们可以看到,格式化字符串由4部分组成,其中%[index$]的含义我们上面已经讲过,[最小宽度]的含义也很好理解,就是最终该整数转化的字符串最少包含多少位数字。我们来看看剩下2个部分的含义吧:标识: '-' 在最小宽度内左对齐,不可以与“用0填...原创 2012-06-13 16:51:54 · 70 阅读 · 0 评论 -
Java安全通信:HTTPS与SSL
1. HTTPS概念 1)简介 HTTPS(全称:Hypertext Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。这个系统的最初研发由网景公司进行,提供了身份验证与加密...原创 2014-04-18 17:37:30 · 72 阅读 · 0 评论