「java中secret」java中secretkey
今天给各位分享java中secret的知识,其中也会对java中secretkey进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、JAVA中的String secret也是一种语法吗?
- 2、java中secret是啥意思
- 3、java中char secret='a';什么意思???前面定义了一数组a[]。
- 4、java加密的几种方式
JAVA中的String secret也是一种语法吗?
这里写的密文明文啊,老兄。
你仔细看那个两个for循环里边都有a[i]^'t'这个句子。这是一个异或操作。异或的话是二进制操作,真真(假假)皆为假,真假为真。
但是异或的性质有:a ^ b = c; a = b ^ c。
相当于这里是简单的加密解密了。第一个for循环把每个字节给加密了,第二个解密了,所以两个结果是不同的啊。
这里不因为声明的变量为secret就隐藏字符了,你声明为code,下边为secret是一样的,变量名称是没有任何关系的。两个声明一样,为什么前者就能隐藏字符呢,后者就不能呢?多思考,多研究,很有好处的。
java中secret是啥意思
是变量的名字吧?JAVA关键字是没有这个的,而且函数API也是没有的。
java中char secret='a';什么意思???前面定义了一数组a[]。
前面的a和后面这个a一点关系都没有 后面这个就是键盘上的字符a
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中secret和java中secretkey的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
发布于:2022-11-23,除非注明,否则均为
原创文章,转载请注明出处。