Java加密与解密(by quqi99)
Java加密与解密(by quqi99)
作者:张华 发表于:2009-12-31
版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本版权声明
步骤1:生成一个安全密匙。在加密或解密任何数据之前需要有一个密匙。密匙是随同被加密的应用一起发布的一小段数据
import java.security.SecureRandom;
import javax.crypto.KeyGenerator;
import javax.crypto.SecretKey;
public class GenerateKey
{
static public void main( String args[] ) throws Exception {
String keyFilename = "key.data";
String algorithm = "DES";
// 生成密匙
SecureRandom sr = new SecureRandom();
KeyGenerator kg = KeyGenerator.getInstance( algorithm );
kg.init( sr );
SecretKey key = kg.generateKey();//[-68, -68, -57, -71, 42, -125, 32, 13]
// 把密匙数据保存到文件
Util.writeFile( keyFilename, key.getEncoded() );
}
}
步骤2:加密数据。得到密匙之后,接下来就可以用它加密数据。
// DES算法要求有一个可信任的随机数源
SecureRandom sr = new SecureRandom();
byte rawKeyData[] = /* 用某种方法获得密匙数据 */;
// 从原始密匙数据创建DESKeySpec对象
DESKeySpec dks = new DESKeySpec( rawKeyData );
// 创建一个密匙工厂,然后用它把DESKeySpec转换成
// 一个SecretKey对象
SecretKeyFactory keyFactory = SecretKeyFactory.getInstance( "DES" );
SecretKey key = keyFactory.generateSecret( dks );
// Cipher对象实际完成加密操作
Cipher cipher = Cipher.getInstance( "DES" );
// 用密匙初始化Cipher对象
cipher.init( Cipher.ENCRYPT_MODE, key, sr );
// 现在,获取数据并加密
byte data[] = /* 用某种方法获取数据 */
// 正式
相关文档:
一直想实现像DriverManager那样的getConnection方法,通过此方法就可以获得连接,而且还不用指定Driver,但前提是Driver已经通过Class.forName()或new Driver()进行了加载。今天终于得以实现。
package quiz;
import java.lang.reflect.Field;
public class Cl ......
本文来自:http://blog.csdn.net/ruyanhai/archive/2007/11/07/1871663.aspx
◆ 一般情况下,我们都使用相对路径来获取资源,这样的灵活性比较大.
比如当前类为com/bbebfe/Test.class
而图像资源比如sample.gif应该放置在com/bbebfe/sample.gif
而如果这些图像资源放置在icons目录下,则应该是com/bbebfe/icons/sample.gif ......
for(int i=0;i<string.length();i++)
{
char x=string.CharAt(i);
if(Character.isDigit(i)==true){
//x类型转换然后统计
}
}
如下可以将字母与数字分离出来
用正则!
String str="200Minute";
String str2="300.25Hour";
String regex="[a-zA-Z]" ......
java中判断字符串是否为数字的三种方法
1>用JAVA自带的函数
public static boolean isNumeric(String str){
for (int i = str.length();--i>=0;){
if (!Character.isDigit(str.charAt(i))){
return false;
}
}
......