规则:用随机数对密码进行按位异或混淆,然后进行DES加密,最后进行Base64编码刚学,不懂,请大家多指教

解决方案 »

  1.   

    你的思路好像已经很清楚了,具体的编码到google搜一下就可以了!提醒一句,随机数的生成和保存是关键,后面的都是简单劳动
      

  2.   

    看看这个类会有 帮助:java.security.SecureRandom例子:
    SecureRandom random = new SecureRandom();
    byte bytes[] = new byte[20];
    random.nextBytes(bytes);
      

  3.   

    还是不太懂,能说得具体一点不?
    例如用随机数为“123”,密码为“abc”
    怎么个步骤呢?
      

  4.   

    下面是md5的加密与校验算法,你参考一下
        public static void main(String[] args) throws NoSuchAlgorithmException,
                UnsupportedEncodingException {
            String str = EncoderByMd5("12345");
            System.out.println(str);
            System.out.println(checkpassword("12345", str));    }    public static 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;
        }    public static boolean checkpassword(String newpasswd, String oldpasswd)
                throws NoSuchAlgorithmException, UnsupportedEncodingException {
            return EncoderByMd5(newpasswd).equals(oldpasswd);
        }