情報要約アルゴリズム-CRC(サイクル冗長検査)
937 ワード
一、簡単に述べる
正確にはCRCは情報要約アルゴリズムではないが,彼の原理もハッシュ関数である.彼は多くのバージョンの改善を経験したことがある.現段階のCRC-32アルゴリズムは通信分野におけるエラー制御を実現する主な応用である.
二、モデル分析(圧縮データモデルの伝達を例に):
甲は自分のデータに対して循環冗長検査(CRC)処理を行い、データの末尾に冗長検査コードを追加し、圧縮し、データを乙に送る
乙は解凍し、データと検査コードを分離する.そして、分離したデータに対してCRC処理を行い、冗長検査コードと分離した検査コードが一致しているか否かを見る.さらにデータの正確性を判断する.
三、java実現
四、まとめ
1、CRC 32アルゴリズムはよくあります.メッセージ要約アルゴリズムに似ていますが、原文と要約情報を組み合わせて相手に送信します.
2、アルゴリズムは公開されている.検証も便利です.上記のアルゴリズムの調整でファイルチェックができます
正確には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、アルゴリズムは公開されている.検証も便利です.上記のアルゴリズムの調整でファイルチェックができます