Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: Общие вопросы > Хеширование строк


Автор: IvanB 24.3.2006, 04:49
Помогите, пожалуйста.
В Java полный ламер (Занимаюсь чуть больше недели).
При написании программы понадобилось, чтобы каким-либо образом генерировалась строка, зависящая от полученных строк (Например, имя пользователя, буква "ы" и IP). Причём данному пользователю и IP соответствовала ровно одна строка.
Вопрос:
Как это можно реализовать?
Второй день разобраться уже пытаюсь....

Автор: tux 24.3.2006, 05:01
Наверное что-то типа такого:
Код

import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

public class DigestUtil {
    
    static private String hexEncode(byte[] aInput) {
        StringBuffer result = new StringBuffer();
        char[] digits = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
                'a', 'b', 'c', 'd', 'e', 'f' };
        for (int idx = 0; idx < aInput.length; ++idx) {
            byte b = aInput[idx];
            result.append(digits[(b & 0xf0) >> 4]);
            result.append(digits[b & 0x0f]);
        }
        return result.toString();
    }
    
    static public String createMD5(String input) {
        MessageDigest md = null;
        try {
            md = MessageDigest.getInstance("MD5");
        } catch (NoSuchAlgorithmException e1) {
            e1.printStackTrace();
        }
        
        byte[] output = md.digest(input.getBytes());
        return hexEncode(output);
    }
}

Автор: IvanB 24.3.2006, 05:09
Спасибо.....
Вы мне очень помогли.....
Пойду разбираться с man-ами.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)