一番簡単なWebSocketをやりとりするJavaサーバープログラム 3

1 > 2 > 3 > 4 > 5 > (ページと結果)

あと2つファイルがあります。

続いてMD5の暗号化部です。
WebSocketはHandShakeを実行するために、数字と特定のトークンをMD5で変換しないといけないことになっています。

package com.ttProject.webSocket.library;
 
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
 
/**
 * MD5作成用ライブラリ
 */
public class MD5 {
	/**
	 * 文字列からエンコードする。
	 * @param string 変換する文字列
	 * @return 変換してできたMD5バイトデータ
	 * @throws NoSuchAlgorithmException 例外
	 */
	public static byte[] crypt(String string) throws NoSuchAlgorithmException {
		if(string == null || string.length() == 0) {
			throw new IllegalArgumentException("String for encrypt must have body.");
		}
		MessageDigest md = MessageDigest.getInstance("MD5");
		md.update(string.getBytes());
		return md.digest();
	}
	/**
	 * byteデータからエンコードする。
	 * @param bytes 変換するバイトデータ
	 * @return 変換してできたMD5バイトデータ
	 * @throws NoSuchAlgorithmException 例外
	 */
	public static byte[] crypt(byte[] bytes) throws NoSuchAlgorithmException {
		if(bytes == null || bytes.length == 0) {
			throw new IllegalArgumentException("bytes for encrypt must have body");
		}
		MessageDigest md = MessageDigest.getInstance("MD5");
		return md.digest(bytes);
	}
}
 

今回のプログラムでは、byteデータを変換するだけなので、後者のしか使いません。
なお、途中で文字列化等やってしまうと、HandShakeは失敗するので注意となります。

1 > 2 > 3 > 4 > 5 > (ページと結果)

タグ:

+ タグ編集
  • タグ:

このサイトはreCAPTCHAによって保護されており、Googleの プライバシーポリシー利用規約 が適用されます。

最終更新:2011年02月11日 21:22
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。