有効なMD5結果を取得するためのさまざまな言語の1行のコード例を探しています(バイトハッシュや何を持っているかではなく、文字列として)。例えば:
PHP:$ token = md5($var1。$var2);
VBを1行で行うのは特に面倒だと思いました。
有効なMD5結果を取得するためのさまざまな言語の1行のコード例を探しています(バイトハッシュや何を持っているかではなく、文字列として)。例えば:
PHP:$ token = md5($var1。$var2);
VBを1行で行うのは特に面倒だと思いました。
パイソン
token = __import__('md5').new(var1 + var2).hexdigest()
または、md5
すでにインポートされている場合:
token = md5.new(var1 + var2).hexdigest()
グレッグ・ヒューギルに感謝
これを達成する方法には、ある種の普遍性があります。通常、md5_in_one_line
(またはMd5InOneLine
) と呼ばれるルーチンを 1 回定義し、ライブラリ ルーチンを使用する場合と同様に、そのルーチンをあらゆる場所で使用します。
たとえば、Md5InOneLine
C# で一度定義すると、ワンライナーで正しい結果が得られます。
C#:
string hash = System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(input, "md5");
VBはほぼ同じです。
ここでは System.Web 名前空間を使用していません。
string hash = Convert.ToBase64String(new System.Security.Cryptography.MD5CryptoServiceProvider().ComputeHash(System.Text.Encoding.UTF8.GetBytes(input)));
または読み取り可能な形式で:
string hash =
Convert.ToBase64String
(new System.Security.Cryptography.MD5CryptoServiceProvider()
.ComputeHash
(System.Text.Encoding.UTF8.GetBytes
(input)
)
);
「どの言語が MD5 の標準ライブラリをサポートしているか」と尋ねているだけではありませんか? Justice が言ったように、それをサポートするどの言語でも、結果を文字列変数に格納する関数呼び出しになります。組み込みのサポートがなくても、その関数を任意の言語で記述できます!
VBScript が必要な場合に備えて、webdevbros からMD5 クラスをダウンロードし、次の 1 行を追加します。
hash = (new MD5).hash("some value")
MD5を1行で実行できるかどうかは本当に問題ですか。VB で 1 行にできないほど面倒なら、独自の関数を作成します。次に、VB で MD5 を 1 行で実行する必要がある場合は、その関数を呼び出すだけです。
すべてを 1 行のコードで実行することが非常に重要である場合、ここに 1 行の VB があります。System.Web 名前空間を使用しない。
Dim MD5 As New System.Security.Cryptography.MD5CryptoServiceProvider() : Dim HashBytes() As Byte : Dim MD5Str As String = "" : HashBytes = MD5.ComputeHash(System.Text.Encoding.UTF8.GetBytes("MyString")) : For i As Integer = 0 To HashBytes.Length - 1 : MD5Str &= HashBytes(i).ToString("x").PadLeft(2, "0") : Next
これにより、「MyString」がハッシュされ、MD5 合計が MD5Str に格納されます。
Coldfusion には多数のハッシュ アルゴリズムがあり、MD5 がデフォルトです。
cfset var md5hashresult = hash("ハッシュする文字列")