0
暗号化→複合化
はじめまして。
下記ソースで暗号化には成功したのですが、それを元に戻す処理をどのようにコーディングしていけばいいかわかりません。
わかる方がいらっしゃいましたら教えて頂けるようお願い致します。
サンプルソース.java
/**
* ハッシュ値を計算します
* @param str ハッシュ値を計算する文字列
* @return ハッシュ値
*/
public String computeHash(String str){
String result = "";
try {
//---------------------------------------
// ハッシュアルゴリズムを実装
// MessageDigest md = MessageDigest.getInstance("MD5");
//---------------------------------------
MessageDigest md = MessageDigest.getInstance("SHA");
//---------------------------------------
//ハッシュ値を計算
//---------------------------------------
md.update(str.getBytes());
byte[] b = md.digest();
StringBuffer sb = new StringBuffer();
//-------------------------------------------
// 計算されたハッシュ値のバイトデータを基数16の符号なし整数の文字列に変換
//-------------------------------------------
for (int i = 0; i < b.length; i++) {
String hex = "";
if(byte2int(b[i]) <= 0xf){
hex += "0";
}
hex += Integer.toHexString(byte2int(b[i]));
sb.append(hex);
}
result = sb.toString();
} catch (NoSuchAlgorithmException e) {
// エラー処理
}
return result;
}
/**
* byte型の整数値(-127〜128)を0〜255の正の整数値に変換する<BR>
* @param b byte型の整数値
* @return 0〜255の正の整数値
*/
private int byte2int(byte b) {
if(b < 0) {
return (int)b + 0x100;
}
return b;
}