「java单词加密」java加密解密字符串
今天给各位分享java单词加密的知识,其中也会对java加密解密字符串进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、java加密的几种方式
- 2、Java加密方式?
- 3、用java把一个命令加密成10个字母(输入的命大于10个则减到10个,少的补足10个)
- 4、java对一个单词进行加密,给定一个密钥lock和一张密码表。
- 5、如何用JAVA实现英文的简单加密和解密?
- 6、Java 如何给字母进行加密?例如:heibei
java加密的几种方式
基本的单向加密算法:
BASE64 严格地说,属于编码格式,而非加密算法
MD5(Message Digest algorithm 5,信息摘要算法)
SHA(Secure Hash Algorithm,安全散列算法)
HMAC(Hash Message Authentication Code,散列消息鉴别码)
复杂的对称加密(DES、PBE)、非对称加密算法:
DES(Data Encryption Standard,数据加密算法)
PBE(Password-based encryption,基于密码验证)
RSA(算法的名字以发明者的名字命名:Ron Rivest, AdiShamir 和Leonard Adleman)
DH(Diffie-Hellman算法,密钥一致协议)
DSA(Digital Signature Algorithm,数字签名)
ECC(Elliptic Curves Cryptography,椭圆曲线密码编码学)
代码参考:
/**
* BASE64加密
*
* @param key
* @return
* @throws Exception
*/
public static String encryptBASE64(byte[] key) throws Exception {
return (new BASE64Encoder()).encodeBuffer(key);
}
/**
* MD5加密
*
* @param data
* @return
* @throws Exception
*/
public static byte[] encryptMD5(byte[] data) throws Exception {
MessageDigest md5 = MessageDigest.getInstance(KEY_MD5);
md5.update(data);
return md5.digest();
}
/**
* SHA加密
*
* @param data
* @return
* @throws Exception
*/
public static byte[] encryptSHA(byte[] data) throws Exception {
MessageDigest sha = MessageDigest.getInstance(KEY_SHA);
sha.update(data);
return sha.digest();
}
}
/**
* 初始化HMAC密钥
*
* @return
* @throws Exception
*/
public static String initMacKey() throws Exception {
KeyGenerator keyGenerator = KeyGenerator.getInstance(KEY_MAC);
SecretKey secretKey = keyGenerator.generateKey();
return encryptBASE64(secretKey.getEncoded());
}
/**
* HMAC加密
*
* @param data
* @param key
* @return
* @throws Exception
*/
public static byte[] encryptHMAC(byte[] data, String key) throws Exception {
SecretKey secretKey = new SecretKeySpec(decryptBASE64(key), KEY_MAC);
Mac mac = Mac.getInstance(secretKey.getAlgorithm());
mac.init(secretKey);
return mac.doFinal(data);
}
Java加密方式?
这个一般没有统一的标准,教材有不同的版本一样。
我做过这个,记得很清楚
加密方式1:Conye加密方法
加密方式2:WeiffbYfds方法
就是这样了,不懂追问哈,嘻嘻。
用java把一个命令加密成10个字母(输入的命大于10个则减到10个,少的补足10个)
题主,你好
您提出的需求据我所知是无法实现的.
如果是对称加密, 则密文和原文长度有关联, 即原文长度越长,密文长度也越长.
如果是非对称加密, 即摘要算法,最低也会有32个字母, 且无法解密.
如不明,再追问.
java对一个单词进行加密,给定一个密钥lock和一张密码表。
class Test{
private static char cat(char row, char col){
String str="abcdefghijklmnopqrstuvwxyz";
int index=(int)(row-'a')+1;
str=str.replaceAll("^(.*)(.{"+index+"})$", "$2$1");
int jndex=(int)(col-'a');
return str.charAt(jndex);
}
public static void main (String[] args) {
String rows="lock";
String cols="message";
String result = "";
for(int i=0;icols.length();i++){
char col=cols.charAt(i);
char row=rows.charAt(i%rows.length());
result+=cat(row,col);
}
System.out.println(result);
}
}
如何用JAVA实现英文的简单加密和解密?
最简单的方法,把第一行和第二行存在一个哈希表里,第一行作为哈希表的KEY,第二行作为VALUE。根据KEY找VALUE,明白否?
Java 如何给字母进行加密?例如:heibei
你可以把每个字母加上一个数 如“20” 这样就跟原来的不同了 想还原的话再减去 20 就好了
如:String str = "heihie";
char[] c = new char[6];
for(int i=0;i6;i++){
c[i]=str.charAt(i);
}
System.out.println(c[i]+20);
java单词加密的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java加密解密字符串、java单词加密的信息别忘了在本站进行查找喔。