以与VB.NET相同的方式在PHP中哈希字符串


Hashing a string in PHP in the same way as in VB.NET

我有以下加密函数,不知道这段代码是用哪种语言编写的。据我所知,这个函数是用SHA256加密字符串。

Use Namespace: Imports System.Security.Cryptography
Data: Agent Code ~ Userid ~ Security ID~ MerchantID~ Terminalid~ LoginKey
Public Function EncryptSHA(ByVal Data As String) As String
Dim sh As New SHA256Managed
Try
Convert.ToBase64String(sh.ComputeHash(Encoding.ASCII.GetBytes(Data)))
Dim eNC_data As Byte() = ASCIIEncoding.ASCII.GetBytes(Data)
Dim eNC_str As String = Convert.ToBase64String(eNC_data)
Return eNC_str
Catch ex As ExceptionGeneral.Err_Handler("General", "EncryptSHA", ex.Message)
Return Nothing
End Try
End Function

我正在研究php,并希望在php中使用相同的php加密函数。请有人解释一下这个函数使用的是什么加密??这是我的php代码:

$data='Agent Code ~ Userid ~ Security ID~ MerchantID~ Terminalid~ LoginKey';
$encryptcode = hash('SHA256', $data);

抱歉我英语不好。

SHA256是一个散列函数,它是单向加密。没有办法解密它。加密哈希函数的全部目的是无法反转它。例如,它用于验证用户密码:将用户密码的哈希与保存在数据库中的哈希进行比较,以验证用户身份。

如果你想打破它,你可以尝试以下技术:

  1. 蛮力
  2. 彩虹餐桌