首页>代码>javascript DES加密解密算法>/javascript加密/Utils.java
package util.core;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import java.io.InputStreamReader;

import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;

public class Utils {

	public static String key = "47944980";

	public static String decrypt(String value, String basePath) {
		String path = "/WEB-INF/jsp/js/des.js";  
		try {
			String content = readFile(new File(basePath + path));
			ScriptEngineManager sem = new ScriptEngineManager();
			ScriptEngine se = sem.getEngineByName("javascript");
			se.eval(content + " DES.init( \"" + key + "\" , \"" + value
					+ "\" ) ;");
			String pwd = (String) se
					.eval("decodeURI(DES.Encrypt(\"Decrypt\"))");
			return pwd;
		} catch (Exception e) {
			e.printStackTrace();
		}
		return "";
	}

	public static String encrypt(String value, String basePath) {
		String path = "/WEB-INF/jsp/js/des.js";
		try {
			String content = readFile(new File(basePath + path));
			ScriptEngineManager sem = new ScriptEngineManager();
			ScriptEngine se = sem.getEngineByName("javascript");
			se.eval(content + " DES.init( \"" + key + "\" , encodeURI( \""
					+ value + "\" ) ) ; ");
			String pwd = (String) se.eval("DES.Encrypt()");
			return pwd;
		} catch (Exception e) {
			e.printStackTrace();
		}
		return "";
	}

	public static void main(String[] args) {
		String basePath = "E:\\soft\\apache-tomcat-6.0.18\\webapps\\rh\\";
		String e = encrypt("中文", basePath) ;
		System.out.println("pwd=" + e );
		System.out.println("pwd=" + decrypt( e , basePath)); 
	}

	/**
	 * 读取文件内容
	 */
	public static String readFile(File file) {
		String content = "";
		InputStream is = null;
		try {
			is = new FileInputStream(file);
			BufferedReader reader = new BufferedReader(new InputStreamReader(
					is, "UTF-8"));
			String line = null;
			while ((line = reader.readLine()) != null) {
				String str = line.trim() ;
				content += str + "\n" ; 
			}
		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			try {
				is.close();
			} catch (Exception e) {
			}
		}
		return content;
	}
}
最近下载更多
小阳Giao  LV2 2022年11月18日
taosuw  LV1 2022年11月16日
blueASD  LV1 2022年4月14日
y1214435276  LV9 2022年3月24日
vliqckl  LV1 2021年9月9日
Aisc314  LV2 2020年12月23日
sakichen  LV1 2020年10月13日
491308784  LV1 2020年4月27日
shaolinyu  LV2 2019年11月30日
JAVA璐  LV1 2019年8月7日
最近浏览更多
except I  LV2 2023年11月5日
Throba  LV2 2023年5月9日
小阳Giao  LV2 2022年11月18日
taosuw  LV1 2022年11月16日
rain112  LV30 2022年8月25日
Qq2178649808  LV1 2022年5月8日
blueASD  LV1 2022年4月14日
许文欣  LV2 2022年3月26日
微信网友_5855482984206336  LV1 2022年3月3日
1798672867  LV21 2022年1月22日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友