相当笨,但是相当经典`````
jsp中怎么用md5啊????

解决方案 »

  1.   

    和JSP里面没有关系直接调用api就可以了
      

  2.   

    用Java代码弄好,使用标签或者JavaBean方式调用就行,最坏的办法就是在JSP中直接嵌入Java代码
      

  3.   

    MessageDigest md = MessageDigest.getInstance("MD5");
      

  4.   

    此 MessageDigest 类为应用程序提供信息摘要算法的功能,如 MD5 或 SHA 算法。信息摘要是安全的单向哈希函数,它接收任意大小的数据,输出固定长度的哈希值。MessageDigest 对象开始被初始化。该对象通过使用 update 方法处理数据。任何时候都可以调用 reset 方法重置摘要。一旦所有需要更新的数据都已经被更新了,应该调用 digest 方法之一完成哈希计算。对于给定数量的更新数据,digest 方法只能被调用一次。digest 被调用后,MessageDigest 对象被重新设置成其初始状态。实现可随意选择是否实现 Cloneable 接口。客户端应用程可以通过尝试复制和捕获 CloneNotSupportedException 测试可复制性: MessageDigest md = MessageDigest.getInstance("SHA"); try {
         md.update(toChapter1);
         MessageDigest tc1 = md.clone();
         byte[] toChapter1Digest = tc1.digest();
         md.update(toChapter2);
         ...etc.
     } catch (CloneNotSupportedException cnse) {
         throw new DigestException("couldn't make digest of partial content");
     }
      

  5.   

    ... so classic ...
    you cheat
      

  6.   

    public final static String MD5(String s) {
        char hexDigits[] = {
            '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd',
            'e', 'f'};
        try {
          byte[] strTemp = s.getBytes();
          MessageDigest mdTemp = MessageDigest.getInstance("MD5");
          mdTemp.update(strTemp);
          byte[] md = mdTemp.digest();
          int j = md.length;
          char str[] = new char[j * 2];
          int k = 0;
          for (int i = 0; i < j; i++) {
            byte byte0 = md[i];
            str[k++] = hexDigits[byte0 >>> 4 & 0xf];
            str[k++] = hexDigits[byte0 & 0xf];
          }
          return new String(str);
        }
        catch (Exception e) {
          return null;
        }
      }