`
- 浏览:
30111 次
- 性别:
- 来自:
上海
-
/***//**
*Copyright2008,CSSWEBallrightsreserved.
*@authorhujun
*@dateMar25,2008
*@fileBlowfish.java
*@version1.1
**/
packagenet.cssweb.common.encrypt;
importjava.io.ByteArrayInputStream;
importjava.io.ByteArrayOutputStream;
importjava.io.IOException;
importjava.security.InvalidAlgorithmParameterException;
importjava.security.InvalidKeyException;
importjava.security.NoSuchAlgorithmException;
importjavax.crypto.BadPaddingException;
importjavax.crypto.Cipher;
importjavax.crypto.CipherOutputStream;
importjavax.crypto.IllegalBlockSizeException;
importjavax.crypto.NoSuchPaddingException;
importjavax.crypto.spec.IvParameterSpec;
importjavax.crypto.spec.SecretKeySpec;
importsun.misc.BASE64Decoder;
publicclassBlowfish...{
publicStringdecrypt(Stringinput)throwsNoSuchAlgorithmException,NoSuchPaddingException,InvalidKeyException,InvalidAlgorithmParameterException,IOException,IllegalBlockSizeException,BadPaddingException
...{
finalbyte[]k=
...{
0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,
0x09};
//System.out.println("key="+k);
SecretKeySpeckey=newSecretKeySpec(k,"Blowfish");
finalbyte[]ivBytes=...{0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08};
//Stringiv="00000000";
IvParameterSpecspec=newIvParameterSpec(ivBytes);
Ciphercipher=Cipher.getInstance("Blowfish/CBC/PKCS5Padding");
//Ciphercipher=Cipher.getInstance("Blowfish/CBC/NoPadding");
cipher.init(Cipher.DECRYPT_MODE,key,spec);
//cipher.init(Cipher.DECRYPT_MODE,key);
//System.out.println("blocksize="+cipher.getBlockSize());
//System.out.println("iv="+cipher.getIV());
BASE64Decoderdecoder=newBASE64Decoder();
byte[]data=decoder.decodeBuffer(input);
//cipher.update
//data=cipher.update(data,0,data.length);
//System.out.println("长度为"+data.length);
byte[]decryptData=cipher.doFinal(data,0,data.length);
//cipher.
//System.arraycopy("12345678".getBytes()decryptData,0,,0,8);
//Strings=newString(decryptData);
/***//**
for(inti=0;i<decryptData.length;i++)
System.out.println(decryptData[i]);
**/
//System.out.println("解密数据="+decryptData.toString());
//System.out.println("解密数据="+newString(decryptData));
returnnewString(decryptData);
}
publicStringencrypt(Stringinput)throwsNoSuchAlgorithmException,NoSuchPaddingException,InvalidKeyException,InvalidAlgorithmParameterException,IOException
...{
finalbyte[]k=
...{
0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,
0x09};
System.out.println("key="+k);
SecretKeySpeckey=newSecretKeySpec(k,"Blowfish");
finalbyte[]ivBytes=...{0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08};
//Stringiv="00000000";
IvParameterSpecspec=newIvParameterSpec(ivBytes);
Ciphercipher=Cipher.getInstance("Blowfish/CBC/PKCS5Padding");
//Ciphercipher=Cipher.getInstance("Blowfish/CBC/NoPadding");
cipher.init(Cipher.ENCRYPT_MODE,key,spec);
ByteArrayOutputStreambos=newByteArrayOutputStream();
ByteArrayInputStreambis=newByteArrayInputStream(input.getBytes());
CipherOutputStreamcos=newCipherOutputStream(bos,cipher);
inttheByte=0;
while((theByte=bis.read())!=-1)
...{
cos.write(theByte);
}
cos.close();
bis.close();
//System.out.println("加密成功");
returnnewsun.misc.BASE64Encoder().encode(bos.toByteArray());
}
}
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
BlowFish Java版实现,里面有工具类,注意修改一下包名!
[i][b]关于openssl中blowfish算法的运用。blowfish算法,包括Blowfish-ECB,Blowfish-CBC,Blowfish-CTR,Blowfish-OFB,Blowfish-CFB,目前我的Demo只实现了ECB是如何运用的。[/b][/i]注意:嵌入式开发的小伙伴们,如果...
Delphi关于BlowFish算法的软件注册源代码,现在标准算法被多数开发者使用,很容易被破解出来。BlowFish的变形算法源码为您提供软件安全检测和软件的加密解决方案。该代码演示及展现了如何调用BlowFish方法加密解密,...
blowfish 加密 算法blowfish 加密 算法blowfish 加密 算法blowfish 加密 算法
用VB实现Blowfish算法。内附完整的Blowfish实现代码。
Blowfish加密算法Blowfish加密算法Blowfish加密算法Blowfish加密算法
BlowFish算法完整源码与调用方法
blowfish算法源码(c#),模式齐全
Blowfish加解密算法(C++实现的)
Blowfish算法的C#与java实现,代码已经过测试,可以实现C#、java加密解密互通。
blowfish加密解密算法的C#实现,blowfish加密解密算法的C#实现
C#版Blowfish算法源码 本人收藏了3年的资源 现放出 都是总结了很多系统 软件项目实施过程中的经验的 慢慢积累的
Blowfish加密算法 Blowfish is a symmetric block cipher that can be effectively used for encryption and safeguarding of data. It takes a variable-length key, from 32 bits to 448 bits, making it ideal ...
BlowFish算法完整源码与调用方法
用C#,对Blowfish.NET进行了简单的封装。 来源:http://caocao.iteye.com/blog/96902
C#与java的 BlowFish算法的实现,代码已经过测试,可以实现C#、java加密解密互通。
Blowfish算法C#实现.doc
BlowFish算法完整源码与调用方法.rar
大数据-算法-改进Blowfish算法在WSN中的应用研究.pdf