web-dev-qa-db-ja.com

VBAを使用しないExcelのMD5ハッシュ関数

Excelでセル値全体を取得し、その値を新しいセルで同等のMD5ハッシュに変換する関数が必要です。それを行う数式がExcelにありますか? VBAを使用しない解決策が必要です。出来ますか?

9
user2002935

これは私がしました。ここでは、VBAなしの純粋なExcelでMD5をダウンロードできます。Office 2013のみ。

https://tzamtzis.gr/2017/web-analytics/Excel-function-md5-hashing-without-vba/https://tzamtzis.gr/tzamtziswp/wp-content /uploads/2017/05/MD5.xlsx

Office 2013には、BITAND()BITOR()BITXOR()BITR[L]SHIFT()などのビット単位の操作に便利な関数が付属しています。以前のバージョンのOfficeでMD5を実装することは技術的に可能であると思いますが、値をバイナリに変換し、これを文字列に変換してから、算術加算/減算などと混合された一部の文字置換。この15桁の最大数の精度に追加します(つまり、16ビットのバイナリ値を処理することさえ困難になります)。

私のワークブックは、最大1024文字の文字列を処理できますASCII文字長。これは、ファイルサイズ(すでに185 kb)を減らすためです。より長いメッセージを処理する必要がある場合は、計算ブロックを表の一番下(1つの計算ブロックは64行で構成されています)ですが、純粋なExcelでのMD5はあまり良いアイデアではないことを示すにはこれで十分だと思います。

29
Taosique