url的格式为www.xxxxx.com/info.jsp?name=test&password=test&receiverID=13517562345,15912365987
现在要求进行URL编码,其中password要进行MD5加密后发送。password以实际明文密码拼接上所发送receiverID每个号码的最后2位所得到字符串进行MD5加密后发送.   怎样实现?

解决方案 »

  1.   

    写一个类,用一方法(getMD5String(String str))对一个字符串进行MD5加密,返回加密后的字符串
    然后就拼接每个号码的最后两们"test"+"45"+"87"对这个字符串用那个加密的方法进行加密假设结果是www.xxxxx.com/info.jsp?name=test&password="+getMD5String("test"+"45"+"87")+"&receiverID=13517562345,15912365987 
      

  2.   

    网上有MD5加密算法Java版的。去找找吧
      

  3.   


    /** *//**利用MD5进行加密
         * @param str  待加密的字符串
         * @return  加密后的字符串
         * @throws NoSuchAlgorithmException  没有这种产生消息摘要的算法
         * @throws UnsupportedEncodingException  
         */
        public String EncoderByMd5(String str) throws NoSuchAlgorithmException, UnsupportedEncodingException{
            //确定计算方法
            MessageDigest md5=MessageDigest.getInstance("MD5");
            BASE64Encoder base64en = new BASE64Encoder();
            //加密后的字符串
            String newstr=base64en.encode(md5.digest(str.getBytes("utf-8")));
            return newstr;
        }
      

  4.   

    新手上路,谢谢楼上各位,另外,写有一个问题就是那个receiverID问题,URL中,receiverID是一个String类型,如
    "13517562345,15912365987 ,13822649835",现在要写一个方法用到String的Split(",")把它分为数组,然后将数组的每一项值取出来再用 subString(9,10)取得后两位。好象涉及到两个for语句,怎么实现啊?我知道原理,不知道具体实现。
      

  5.   

    另外,String数组a转化为String类型b是不是这样:Srting b=a.toString;
      

  6.   

    另外,url的长度应该有个限度吧,限度值是多少?if(url.length()>?){
      System.out.println("你输入的长度超出界限")
    }
      

  7.   

         我知道原理,不知道具体实现。      IFU
          String [] str="13517562345,15912365987,13822649835".split(",");
          Sring ids="";//保存截取后的字符串
           String strAdds = "";//数组转换成的字符串
           for(int i=0;i<str.length;i++)
          {
               strAdds  = strAdds + ",";
               ids=ids+str.substring(9,10);//是不是9,10我就不知道了,你自己说是这么多的
          }
          //注意最后strAdds 会最出一个豆号,也就是13517562345,15912365987,13822649835,
          长度是多少字节忘记了.上网查一下吧.好像是1024吧
        
      

  8.   

    谢谢AWUSOFT,根据你的编程思想,我写出并测试了,弱弱的问一句:wesker0918说的“String newstr=base64en.encode(md5.digest(str.getBytes("utf-8")));”这句。方法getBytes里面的参数"utf-8"和“UTF-8”有产生的效果区别吗?