1

2 つの添付ファイルを含むマルチパート電子メール メッセージを生成する必要があります。1 つの添付ファイルはメッセージを含むプレーン テキスト ファイルであり、もう 1 つの添付ファイルにはメッセージの整合性を検証するための SHA1 ハッシュが含まれている必要があります。添付ファイルと SHA1 ハッシュを生成できますが、外部ツール (sha1sum) を使用してメッセージの添付ファイルの SHA1 を生成すると、コードで生成された SHA1 と一致しません。

添付ファイルと SHA1 を生成するためのコードは次のとおりです。

String tx = "Some message";

// generate message attachment
MimeBodyPart attachment = new MimeBodyPart();
attachment.setDisposition(MimeBodyPart.ATTACHMENT);
attachment.setFileName("myFileName.txt");
attachment.setDataHandler(
    new DataHandler(
        new ByteArrayDataSource(tx, "text/plain")));

// generate SHA1 hash
MessageDigest sha1 = MessageDigest.getInstance("SHA1");
sha1.update(tx.getBytes("ISO-8859-1"));
String hashString = Hex.encodeHexString(sha1.digest()); // using Apache Commons

// generate SHA1 attachment
MimeBodyPart hash = new MimeBodyPart();
hash.setDisposition(MimeBodyPart.ATTACHMENT);
hash.setFileName("myFileName.sha1");
hash.setDataHandler(
    new DataHandler(
        new ByteArrayDataSource(hashString, "text/plain")));

私の質問は、生成した SHA1 ハッシュが添付ファイルの SHA1 ハッシュと一致しないのはなぜですか?

4

0 に答える 0