鉴于 php 中的散列生成脚本,我如何 post 生成散列?
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
支付处理商请求生成的哈希码。我已经获得了他们要求正确发布的大部分信息,现在他们需要这个哈希码。我不明白 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