.NET 3.5:実装する方法DOT Net 3.5 APIを使用してデータのCRC32を計算しますか?

StackOverflow https://stackoverflow.com/questions/1755949

  •  20-09-2019
  •  | 
  •  

質問

実装方法DOT Net 3.5 API.Iを使用してデータのCRC32を計算する方法は、次のコードでJavaで同じことをしました。

   public static String getMAC (byte [] value) {  
    java.util.zip.CRC32 crc32 = new java.util.zip.CRC32 ();
    crc32.update(value);
    long newCRC = crc32.getValue();
    String crcString = Long.toHexString(newCRC);
    try {
        crcString = ISOUtil.padleft(Long.toHexString(newCRC), 8, '0');
    }
    catch (Exception e){
        e.printStackTrace();
    }

    if (ISOConstantsLibrary.DEBUG) System.out.println("for hex string: " + ISOUtil.hexString(value) + "\nmac" + crcString);        
    } 
役に立ちましたか?

解決

.NET FCLはjava.util.zip.crc32のようなクラスを提供していないため、独自にロールする必要があります。それは難しくありません、そこにはいくつかのまともな例があります:

例1 例2

他のヒント

.NETライブラリには標準のCRC32アルゴリズムはありません。次のような他の実装を使用できます これ. 。また、CRC32を使用する特定の要件がない場合(たとえば、整合性をチェックするためにチェックサムを計算するだけです)、使用することをお勧めします CRC32C. 。このアルゴリズムは、最新のCPUで実行できます。これは、通常、ネイティブの実装よりも10倍高速または管理された実装よりも20x〜60倍高速で実行できます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top