社区
Java SE
帖子详情
求java加密算法!!!!!!!!!!!!!!!
gdj980150
2005-10-20 09:01:37
我想实现以下效果:
在javabean中String str = "患者";
经过加密base64(unicode(str))后:str=o2AFgA
base64用java自带的方法.现在就是不知道怎么转成unicode编码,请大家多多指教!!!!!!!!!!!!!
急用,先谢谢了....
...全文
162
5
打赏
收藏
求java加密算法!!!!!!!!!!!!!!!
我想实现以下效果: 在javabean中String str = "患者"; 经过加密base64(unicode(str))后:str=o2AFgA base64用java自带的方法.现在就是不知道怎么转成unicode编码,请大家多多指教!!!!!!!!!!!!! 急用,先谢谢了....
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
gdj980150
2005-10-21
打赏
举报
回复
我不是想怎么加密,就是想实现那种效果
xlyyc
2005-10-20
打赏
举报
回复
给你一个DES的加密
import java.security.Key;
import java.security.SecureRandom;
import javax.crypto.Cipher;
import javax.crypto.KeyGenerator;
import sun.misc.BASE64Decoder;
import sun.misc.BASE64Encoder;
/**
*
* 使用DES加密与解密,可对byte[],String类型进行加密与解密
* 密文可使用String,byte[]存储.
*
* 方法:
* void getKey(String strKey)从strKey的字条生成一个Key
*
* String getEncString(String strMing)对strMing进行加密,返回String密文
* String getDesString(String strMi)对strMin进行解密,返回String明文
*
*byte[] getEncCode(byte[] byteS)byte[]型的加密
*byte[] getDesCode(byte[] byteD)byte[]型的解密
*/
public class DesEncrypt {
Key key;
/**
* 根据参数生成KEY
* @param strKey
*/
public void getKey(String strKey) {
try {
KeyGenerator _generator = KeyGenerator.getInstance("DES");
_generator.init(new SecureRandom(strKey.getBytes()));
this.key = _generator.generateKey();
_generator = null;
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 加密String明文输入,String密文输出
* @param strMing
* @return
*/
public String getEncString(String strMing) {
byte[] byteMi = null;
byte[] byteMing = null;
String strMi = "";
BASE64Encoder base64en = new BASE64Encoder();
try {
byteMing = strMing.getBytes("UTF8");
byteMi = this.getEncCode(byteMing);
strMi = base64en.encode(byteMi);
} catch (Exception e) {
e.printStackTrace();
} finally {
base64en = null;
byteMing = null;
byteMi = null;
}
return strMi;
}
/**
* 解密 以String密文输入,String明文输出
* @param strMi
* @return
*/
public String getDesString(String strMi) {
BASE64Decoder base64De = new BASE64Decoder();
byte[] byteMing = null;
byte[] byteMi = null;
String strMing = "";
try {
byteMi = base64De.decodeBuffer(strMi);
byteMing = this.getDesCode(byteMi);
strMing = new String(byteMing, "UTF8");
} catch (Exception e) {
e.printStackTrace();
} finally {
base64De = null;
byteMing = null;
byteMi = null;
}
return strMing;
}
/**
* 加密以byte[]明文输入,byte[]密文输出
* @param byteS
* @return
*/
private byte[] getEncCode(byte[] byteS) {
byte[] byteFina = null;
Cipher cipher;
try {
cipher = Cipher.getInstance("DES");
cipher.init(Cipher.ENCRYPT_MODE, key);
byteFina = cipher.doFinal(byteS);
} catch (Exception e) {
e.printStackTrace();
} finally {
cipher = null;
}
return byteFina;
}
/**
* 解密以byte[]密文输入,以byte[]明文输出
* @param byteD
* @return
*/
private byte[] getDesCode(byte[] byteD) {
Cipher cipher;
byte[] byteFina = null;
try {
cipher = Cipher.getInstance("DES");
cipher.init(Cipher.DECRYPT_MODE, key);
byteFina = cipher.doFinal(byteD);
} catch (Exception e) {
e.printStackTrace();
} finally {
cipher = null;
}
return byteFina;
}
public static void main(String args[]) {
DesEncrypt des=new DesEncrypt();//实例化一个对像
des.getKey("aadd");//生成密匙
String strEnc = des.getEncString("明文");//加密字符串,返回String的密文
System.out.println("加密文:"+strEnc);
String strDes = des.getDesString(strEnc);//把String 类型的密文解密
System.out.println("解密文:"+strDes);
}
}
believefym
2005-10-20
打赏
举报
回复
base64只能算是一种编码方式
很多第三方的包都提供base64的encode和decode方法
TinyJimmy
2005-10-20
打赏
举报
回复
base64不能算加密吧.
java提供标准的加密算法实现的, 如DES等. jdk 1.4就有支持
固态硬盘并不是“固”不可破
今天要说的这件事儿就像是半夜里的一场噩梦。我们公司的一台运行着检索API的服务器突然停止进行索引,原因未知。我们在Algolia所架设的系统可用性强、灵活性强,所以过去从来没有发生过什么故障。问题出现后,新触发的API调用重定向到了服务器集群中运转正常的机器上,没再出现故障,而此次事件唯一受到重大影响的则是一位被半夜惊醒的工程师。 为我们所有API的HTTP(S)通讯提供服务的NGINX dae
机械硬盘与固态硬盘
硬盘有机械硬盘(HDD)和固态硬盘(SSD)之分。 机械硬盘 机械硬盘即是传统普通硬盘,主要由:盘片,磁头,盘片转轴及控制电机,磁头控制器,数据转换器,接口,缓存等几个部分组成。机械硬盘中所有的盘片都装在一个旋转轴上,每张盘片之间是平行的,在每个盘片的存储面上有一个磁头,磁头与盘片之间的距离比头发丝的直径还小,所有的磁头联在一个磁头控制器上,由磁头控制器负责各个磁头的运动。磁头可沿盘片的半径方向运动,加上盘片每分钟几千转的高速旋转,磁头就可以定位在盘片的指定位置上进行数据的读写操作。硬盘作为精密设备,尘埃
电脑怎么查看是固态硬盘还是机械硬盘
硬盘的概念和分类,固态硬盘和机械硬盘的区别,怎么看电脑是固态硬盘还是机械硬盘
固态硬盘排行榜,固态硬盘天梯图
如果你想拥有顶级的游戏电脑或笔记本电脑,或者你只是想拥有一台超快的工作电脑主机,那么为你的电脑找到最好的固态硬盘是关键的一点。一个缓慢的存储硬盘往往会导致很大的瓶颈,迫使你的处理器(即使它是最贵的性能最高的CPU)浪费核心性能,等待数据的处理。为了加快你的写入和读取速度,你需要一个快速的SSD。为了弄清楚哪种是最好的固态硬盘,我们每年都会测试几十种硬盘,并在这里列出最好的硬盘。大型ssd硬盘供应商,如三星、WD、Kioxia,以及一大批第三方固态硬盘制造商,将在下周公布其2022年的新固态硬盘。
固态硬盘与机械硬盘使用寿命对比分析
然而,在实际使用中,两者的寿命表现都受到多种因素的影响。因此,用户需要根据自己的需
求
和预算选择合适的硬盘类型,并注意保护和维护硬盘以延长其使用寿命。然而,现代固态硬盘通过先进的算法和技术,如TRIM指令、磨损均衡等,有效延长了硬盘的寿命。此外,固态硬盘的读写速度极快,使得数据读写更加高效,减少了因长时间读写而导致的寿命损耗。然而,由于机械结构的存在,机械硬盘在长时间使用后容易出现磨损和老化现象,如磁头磨损、盘片划痕等。然而,在实际使用中,由于多种因素的影响,两者的寿命表现可能存在一定的差异。
Java SE
62,620
社区成员
307,251
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章