UUID,加密解密算法的使用

注意的地方:

Base64Encoder,Base64Decoder并不属于JDK标准库范畴,但是又包含在了JDK中

解决方法:按照如下方法设置Eclipse导入%JAVA_HOME%\jre\lib目录下的rt.jar包即可,Project->Properties,选择Java Build Path设置项,再选择Libraries标签,Add External Jars添加%JAVA_HOME%\jre\lib\rt.jar就可以使用啦!

如果在使用BASE64Decoder时遇到了这种情况:Access restriction : The type BASE64Decoder is not accessible due to restriction on required library C:\Program 
files\java\jre6\lib\rt.jar ,只需要在project build path中先移除JRE System Library,再添加库JRE System Library就行了

具体代码如下:

package leetcode;

import java.io.IOException;
import java.math.BigInteger;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.UUID;

import sun.misc.BASE64Decoder;
import sun.misc.BASE64Encoder;

public class Test12 {

	public static String getId(){
		//UUID java中不重复序列
		String id = UUID.randomUUID().toString();
		//System.out.println(id);
		//得到的这个序列号很长,可以用哈希码来表示
		int hashCode = Math.abs(id.hashCode());
		return hashCode+"";
	}
	
	//md5加密算法,单向加密,没有解密的
	
		public static String md5(String str){
			byte[] bytes = null;
			try {
				bytes = MessageDigest.getInstance("md5").digest(str.getBytes());//得到MD5的实例,再将字符串加密
			} catch (NoSuchAlgorithmException e) {
				e.printStackTrace();
			}
			return new BigInteger(1,bytes).toString(16);//把字节数组转化为正的bigInteger,然后变成16进制表示
		}
		
		//base64算法,解密,加密
		public static String base64Encode(String str){
			BASE64Encoder baseEncode = new BASE64Encoder();
			return baseEncode.encode(str.getBytes());//加密
		}
		public static String base64Decode(String str){
			BASE64Decoder baseDecoder = new BASE64Decoder();
			try {
				return new String(baseDecoder.decodeBuffer(str));//解密
			} catch (IOException e) {
				e.printStackTrace();
			}
			return null;
		}

	
	public static void main(String[] args) {
		System.out.println(getId());
		System.out.println("1234加密后:"+md5("1234"));
		String str = base64Encode("1234");
		System.out.println("1234加密后:"+str);
		System.out.println("解密后:"+base64Decode(str));
	}

}

 

运行结果如下:

888859973
1234加密后:81dc9bdb52d04dc20036dbd8313ed055
1234加密后:MTIzNA==
解密后:1234

转载于:https://www.cnblogs.com/wt20/p/5823461.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Vue中使用UUID解密,你可以遵循以下步骤: 1. 首先,在Vue项目中引入jsencrypt.js文件。你可以将该文件放在项目的公用文件夹(如utils文件夹)下,然后使用import语句引入该文件。确保在引入之前你已经安装好了jsencrypt库。 2. 生成RSA密钥对。你可以使用如下网站生成密钥对:http://web.chacuo.net/netrsakeypair。将生成的公钥和私钥分别保存起来,后续会用到。 3. 在Vue组件中,导入jsencrypt并创建加密和解密函数。你可以使用如下代码作为参考: ```javascript import JSEncrypt from 'jsencrypt/bin/jsencrypt.min' const publicKey = 'your_public_key_here' // 替换为你生成的公钥 const privateKey = 'your_private_key_here' // 替换为你生成的私钥 // 加密 export function encrypt(txt) { const encryptor = new JSEncrypt() encryptor.setPublicKey(publicKey) return encryptor.encrypt(txt) } // 解密 export function decrypt(txt) { const encryptor = new JSEncrypt() encryptor.setPrivateKey(privateKey) return encryptor.decrypt(txt) } ``` 注意,将代码中的'your_public_key_here'和'your_private_key_here'替换为你实际生成的公钥和私钥。 4. 现在你可以在Vue组件中使用encrypt和decrypt函数来进行UUID解密操作了。例如,你可以在需要加密的地方调用encrypt函数,将UUID作为参数传递进去,然后将加密后的结果用于传输。在接收到加密数据的地方,你可以调用decrypt函数对数据进行解密。 这样,你就可以在Vue项目中使用RSA进行UUID解密了。请注意,这里的示例仅涉及UUID的加解密操作,你可能还需要根据具体需求进行适当的修改和扩展。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值