【问题标题】:Hashing a string in PHP in the same way as in VB.NET以与在 VB.NET 中相同的方式在 PHP 中散列字符串
【发布时间】:2016-04-08 16:47:00
【问题描述】:

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

对不起,我的英语不好。

【问题讨论】:

  • 这是 VB.Net。当您尝试解密 php.ini 中的数据时,使用正确的编码非常重要。 (ASCII)。也许你也应该发布你的 php 代码?
  • @Merryweather php代码已添加,请帮忙
  • SHA256 和所有密码散列函数都是不加密,它们是单向函数,无法获取原始数据。由于它们不能被反转,它们不是可以被反转以获得原始数据的加密。术语确实很重要。

标签: php vb.net hash sha256


【解决方案1】:

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

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

  1. 蛮力
  2. 彩虹桌

【讨论】:

  • 我不想解密,我想在php中做同样的加密功能
  • 我明白了,请在您的帖子中说明您要做什么。
猜你喜欢
  • 2010-10-03
  • 2017-05-02
  • 2012-03-21
  • 2019-01-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-10-17
  • 2011-04-20
相关资源
最近更新 更多