情報要約アルゴリズム-CRC(サイクル冗長検査)

937 ワード

一、簡単に述べる
正確にはCRCは情報要約アルゴリズムではないが,彼の原理もハッシュ関数である.彼は多くのバージョンの改善を経験したことがある.現段階のCRC-32アルゴリズムは通信分野におけるエラー制御を実現する主な応用である.
 
二、モデル分析(圧縮データモデルの伝達を例に):
甲は自分のデータに対して循環冗長検査(CRC)処理を行い、データの末尾に冗長検査コードを追加し、圧縮し、データを乙に送る
乙は解凍し、データと検査コードを分離する.そして、分離したデータに対してCRC処理を行い、冗長検査コードと分離した検査コードが一致しているか否かを見る.さらにデータの正確性を判断する.
三、java実現
package com.ca.test;
import java.util.zip.CRC32;
/**
 *         
 * @author kongqz
 * */
public class CRC {
	/**
	 * @param args
	 */
	public static void main(String[] args) {
		String str="  CRC-32";
		CRC32 c32=new CRC32();
		c32.update(str.getBytes());
		String hex=Long.toHexString(c32.getValue());
		System.out.println("  :"+str);
		System.out.println("CRC-32   :"+hex);
	}
}
       :
  :  CRC-32
CRC-32   :8734140f

四、まとめ
1、CRC 32アルゴリズムはよくあります.メッセージ要約アルゴリズムに似ていますが、原文と要約情報を組み合わせて相手に送信します.
2、アルゴリズムは公開されている.検証も便利です.上記のアルゴリズムの調整でファイルチェックができます