关于jsp程序的加密(jsp加密函数)

发布时间:2023-12-08

关于jsp程序的加密(jsp加密函数)

更新:2022-11-16 01:39

本文目录一览:

  1. 关于JSP的MD5加密
  2. 如何实现jsp的url加密
  3. jsp怎么使用MD5加密数据

关于JSP的MD5加密

java.security包中提供了现成的一个MD5加密函数,具体请参考下面的这个程序。

import java.security.*;
public class MD5Tool {
    public static void main(String []args){
        String test="12uuu3";
        //创建一个MD5Tool类
        MD5Tool myMd5 =new MD5Tool();
        String result=myMd5.MD5Encrypt(test);
        System.out.println (test+" 加密后的结果是:"+result);
    }
    //该方法将你输入的字符串,通过md5加密,返回一个加密后的字符串
    public static String MD5Encrypt(String inStr) {
        MessageDigest md = null;
        String outStr = null;
        try {
            md = MessageDigest.getInstance("MD5"); //可以选中其他的算法如SHA
            byte[] digest = md.digest(inStr.getBytes());
            //返回的是byet[],要转化为String存储比较方便
            outStr = bytetoString(digest);
        }
        catch (NoSuchAlgorithmException nsae) {
            nsae.printStackTrace();
        }
        return outStr;
    }
    public static String bytetoString(byte[] digest) {
        String str = "";
        String tempStr = "";
        for (int i = 1; i < digest.length; i++) {
            tempStr = (Integer.toHexString(digest[i] & 0xff));
            if (tempStr.length() == 1) {
                str = str + "0" + tempStr;
            }
            else {
                str = str + tempStr;
            }
        }
        return str.toLowerCase();
    }
}

如何实现jsp的url加密

加密参数是jsp参数传递中的一种安全措施,加密方法如下: 建议使用对称加密如:DES或者是PBE算法。 加密算法如下:

public static String encrypt(String key, String plainText) throws Exception {
    String encryptTxt = "";
    try {
        byte[] salt = new byte[8];
        MessageDigest md = MessageDigest.getInstance("MD5");
        md.update(key.getBytes());
        byte[] digest = md.digest();
        for (int i = 0; i < 8; i++) {
            salt[i] = digest[i];
        }
        PBEKeySpec pbeKeySpec = new PBEKeySpec(key.toCharArray());
        SecretKeyFactory keyFactory = SecretKeyFactory
                .getInstance("PBEWithMD5AndDES");
        SecretKey skey = keyFactory.generateSecret(pbeKeySpec);
        PBEParameterSpec paramSpec = new PBEParameterSpec(salt, ITERATIONS);
        Cipher cipher = Cipher.getInstance("PBEWithMD5AndDES");
        cipher.init(Cipher.ENCRYPT_MODE, skey, paramSpec);
        byte[] cipherText = cipher.doFinal(plainText.getBytes());
        String saltString = new String(Base64.encode(salt));
        String ciphertextString = new String(Base64.encode(cipherText));
        return saltString + ciphertextString;
    } catch (Exception e) {
        throw new Exception("Encrypt Text Error:" + e.getMessage(), e);
    }
}

使用方法:jsp?后面的参数作为参数传入encrypt();然后就可以返回加密串了。

jsp怎么使用MD5加密数据

jsp端实现md5加密就是jsp的java段代码来实现的,引入md5加密类,然后调用该类相应的方法就ok了,如果是输出的时候要注意的是别转换为字符串,如果jdk5.0以上的话

System.out.printf("%x", "加密过的变量");
out.printf("%x", "加密过的变量");