给定 php 中的哈希生成脚本,如何发布生成的哈希


Given the hash-generating script in php, how do I post the resultant hash?

生成的哈希码是由支付处理器请求的。 我已经拥有他们要求正确发布的大部分信息,现在他们需要这个哈希码。我不了解 POST 请求的格式,也不了解代码片段正在创建哪个变量。如果我在表单中运行它,哈希代码的值是多少?

例如<input type="hidden" name="hash" value="<?php ($WhatGoesHere); ?>" />

<?php
$storename = "TEST_STORE"; 
$sharedSecret = "777777777777777700000000000000005555555555555555"; 
date_default_timezone_set("America/Chicago");
$timezone = "CDT";
$dateTime = date("Y:m:d-H:i:s");
function getDateTime() {
global $dateTime;
return $dateTime;
}
function getTimezone() {
global $timezone;
return $timezone;
}
function getStorename() {
global $storename;
return $storename;
}
function createHash($chargetotal) {
global $storename, $sharedSecret;
$str = $storename . getDateTime() . $chargetotal . $sharedSecret;
for ($i = 0; $i < strlen($str); $i++){
$hex_str.=dechex(ord($str[$i]));
}
return hash('sha256', $hex_str);
}  
?>

提前谢谢你。

我看到 4 个不同的选项:

  • SESSION存储
  • 存储在隐藏文本框中并通过POST提交
  • 存储在 cookie 中并读出值
  • 存储在数据库中永久

我建议不要使用global