0
VBA.NETで書かれたPHPに変換しようとしている次の関数があります。私は初めはPHP開発者ですが、私はVBでほとんど知識がありません。VBA.NET関数をPHPに変換する際に問題が発生する
<%
Public Shared Function ComputeHash(ByVal Key As String) As String
Dim objSHA1 As New SHA1CryptoServiceProvider
objSHA1.ComputeHash(System.Text.Encoding.UTF8.GetBytes(Key.ToCharArray))
Dim buffer() As Byte = objSHA1.Hash
Dim HashValue As String = System.Convert.ToBase64String(buffer)
Return HashValue
End Function
%>
私はマニュアルを検索しようとしましたが、いくつかのガイドラインがありました。 これは、これまで私は自分自身をPHPに変換したものです:
function compute_hash($string){
return base64_encode(sha1($string));
}
Hovewerは、それはVBの機能ComputeHash()
と同じ結果を生成しません。誰かが私が間違っていることを教えてくれないのですか?
両方の言語での実行例:
VBA.NET
string = "orange45877687459999SENTRYORD01154321"
ComputeHash(string) // Returns = WbwSWEBzPqgo9C4nZmGwHhd/FBQ=
PHP
$string = "orange45877687459999SENTRYORD01154321";
compute_hash(string) // Returns = NTliYzEyNTg0MDczM2VhODI4ZjQyZTI3NjY2MWIwMWUxNzdmMTQxNA== (but I need "WbwSWEBzPqgo9C4nZmGwHhd/FBQ=")
達成する目標は何ですか? sha1でハッシュを返したいですか? –
@MASIDDIQUIいいえ、それは実際には単純ではありません。ハッシュ自体ではありません。私はPHPでComputeHash()の正確な等価を探しています – Yang
受け取ったサンプルの入力と出力を投稿できますか? –