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

时间:2016-04-08 06:58:04

标签: php vb.net hash sha256

我有以下加密功能,并且不知道编写此代码的语言。据我所知,这个函数正在加密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);

抱歉我的英语不好。

1 个答案:

答案 0 :(得分:0)

SHA256是一个哈希函数,这是一个单向的enryption。没有办法解密它。加密哈希函数的整个目的是你不能反转它。例如,它用于验证用户密码:将用户密码的哈希值与数据库中保存的哈希值进行比较,以验证用户身份。

如果你想打破它,你可以试试这些技巧:

  1. 蛮力
  2. 彩虹桌