成都创新互联网站制作重庆分公司

java代码best64的简单介绍

求java加密源代码(MD5,base64)

import java.security.*;

创新互联于2013年开始,是专业互联网技术服务公司,拥有项目成都网站设计、成都网站建设网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元岱山做网站,已为上家服务,为岱山各地企业和个人服务,联系电话:18982081108

import javax.crypto.*;

/**

* 本例解释如何利用DES私钥加密算法加解密

*

* @author Devon

* @version 1.0 04/03/10

*/

public class SingleKeyExample {

public static void main(String[] args) {

try {

String algorithm = "DES"; //定义加密算法,可用 DES,DESede,Blowfish

String message = "Hello World. 这是待加密的信息";

// 生成个DES密钥

KeyGenerator keyGenerator = KeyGenerator.getInstance(algorithm);

keyGenerator.init(56); //选择DES算法,密钥长度必须为56位

Key key = keyGenerator.generateKey(); //生成密钥

// 生成Cipher对象

Cipher cipher = Cipher.getInstance("DES");

//用密钥加密明文(message),生成密文(cipherText)

cipher.init(Cipher.ENCRYPT_MODE, key); //操作模式为加密(Cipher.ENCRYPT_MODE),key为密钥

byte[] cipherText = cipher.doFinal(message.getBytes()); //得到加密后的字节数组

System.out.println("加密后的信息: " + new String(cipherText));

//用密钥加密明文(plainText),生成密文(cipherByte)

cipher.init(Cipher.DECRYPT_MODE, key); //操作模式为解密,key为密钥

byte[] sourceText = cipher.doFinal(cipherText); //获得解密后字节数组

System.out.println("解密后的信息: " + new String(sourceText));

} catch (Exception ex) {

ex.printStackTrace();

}

}

}

/**

* @author Devon

*/

import java.security.*;

import java.security.spec.*;

import javax.crypto.*;

public class PairKeyExample {

public static void main(String argv[]) {

try {

String algorithm = "RSA"; //定义加密算法,可用 DES,DESede,Blowfish

String message = "张三,你好,我是李四";

//产生张三的密钥对(keyPairZhang)

KeyPairGenerator keyGeneratorZhang =

KeyPairGenerator.getInstance(algorithm); //指定采用的算法

keyGeneratorZhang.initialize(1024); //指定密钥长度为1024位

KeyPair keyPairZhang = keyGeneratorZhang.generateKeyPair(); //产生密钥对

System.out.println("生成张三的公钥对");

// 张三生成公钥(publicKeyZhang)并发送给李四,这里发送的是公钥的数组字节

byte[] publicKeyZhangEncode = keyPairZhang.getPublic().getEncoded();

//通过网络或磁盘等方式,把公钥编码传送给李四

//李四接收到张三编码后的公钥,将其解码

KeyFactory keyFacoryLi = KeyFactory.getInstance(algorithm); //得到KeyFactory对象

X509EncodedKeySpec x509KeySpec =

new X509EncodedKeySpec(publicKeyZhangEncode); //公钥采用X.509编码

PublicKey publicKeyZhang = keyFacoryLi.generatePublic(x509KeySpec); //将公钥的KeySpec对象转换为公钥

System.out.println("李四成功解码,得到张三的公钥");

//李四用张三的公钥加密信息,并发送给李四

Cipher cipher = Cipher.getInstance("RSA/ECB/PKCS1Padding"); //得到Cipher对象

cipher.init(Cipher.ENCRYPT_MODE, publicKeyZhang); //用张三的公钥初始化Cipher对象

byte[] cipherMessage = cipher.doFinal(message.getBytes()); //得到加密信息

System.out.println("加密后信息:" + new String(cipherMessage));

System.out.println("加密完成,发送给李四...");

//张三用自己的私钥解密从李四处收到的信息

cipher.init(Cipher.DECRYPT_MODE, keyPairZhang.getPrivate()); //张三用其私钥初始化Cipher对象

byte[] originalMessage = cipher.doFinal(cipherMessage); //得到解密后信息

System.out.println("张三收到信息,解密后为:" + new String(originalMessage));

} catch (Exception ex) {

ex.printStackTrace();

}

}

}

将base64位转换成png图片的java代码

//base64字符串转化成图片

public static boolean GenerateImage(String imgStr)

{ //对字节数组字符串进行Base64解码并生成图片

if (imgStr == null) //图像数据为空

return false;

BASE64Decoder decoder = new BASE64Decoder();

try

{

//Base64解码

byte[] b = decoder.decodeBuffer(imgStr);

for(int i=0;ib.length;++i)

{

if(b[i]0)

{//调整异常数据

b[i]+=256;

}

}

//生成jpeg图片

String imgFilePath = "d://222.jpg";//新生成的图片

OutputStream out = new FileOutputStream(imgFilePath);

out.write(b);

out.flush();

out.close();

return true;

}

catch (Exception e)

{

return false;

}

}

希望可以帮到你。

java base64解密乱码问题 代码如下:

private String getPictureString() {

String upload = "";

try {

FileInputStream in = new FileInputStream(fileName);

byte[] ba = new byte[in.available()];

in.read(ba);

in.close();

upload = new String(android.util.Base64.encode(ba,

android.util.Base64.DEFAULT));

} catch (FileNotFoundException e) {

LogUtil.e(e.getMessage(), e);

} catch (IOException e) {

LogUtil.e(e.getMessage(), e);

}

return upload;

}

这个是加密

解密就是

encode换成decode

upload = new String(android.util.Base64.decode(ba,

android.util.Base64.DEFAULT));


本文名称:java代码best64的简单介绍
标题URL:http://cxhlcq.com/article/dopecce.html

其他资讯

在线咨询

微信咨询

电话咨询

028-86922220(工作日)

18980820575(7×24)

提交需求

返回顶部