PHP MySQL:解密MySQL行中的列值,该行在插入和解析为JSON时被加密
一切正常,我只想用以下示例解密数据库中包含信用卡号的db列:PHP MySQL:解密MySQL行中的列值,该行在插入和解析为JSON时被加密,php,mysql,json,encryption,Php,Mysql,Json,Encryption,一切正常,我只想用以下示例解密数据库中包含信用卡号的db列: $decp = $crypt->decrypt($encp); 这一行是: 'Number' => $row['cardNumber'], 整个代码是: // get the cards $jsonresult = $conn->query("SELECT nameOnCard, cardNumber, cardType, cardDate, ccvCode
$decp = $crypt->decrypt($encp);
这一行是:
'Number' => $row['cardNumber'],
整个代码是:
// get the cards
$jsonresult = $conn->query("SELECT nameOnCard, cardNumber, cardType, cardDate, ccvCode
FROM cy_user_credit_cards
WHERE accountNumber='$accountNumber'");
$creditCard = [];
while ($row = mysqli_fetch_assoc($jsonresult)) {
array_push($creditCard, [
'Name' => $row['nameOnCard'],
'Number' => $row['cardNumber'],
'Type' => $row['cardType'],
'Date' => $row['cardDate'],
'ccv' => $row['ccvCode']
]);
}
// Convert the Array to a JSON String and echo it
$ccJSON = json_encode($creditCard);
echo $ccJSON;
$conn->close();
我想你会想这样做:
// get the cards
$jsonresult = $conn->query("SELECT nameOnCard, cardNumber, cardType, cardDate, ccvCode
FROM cy_user_credit_cards
WHERE accountNumber='$accountNumber'");
$creditCard = [];
while ($row = mysqli_fetch_assoc($jsonresult)) {
array_push($creditCard, [
'Name' => $row['nameOnCard'],
'Number' => $crypt->decrypt($row['cardNumber']),
'Type' => $row['cardType'],
'Date' => $row['cardDate'],
'ccv' => $row['ccvCode']
]);
}
// Convert the Array to a JSON String and echo it
$ccJSON = json_encode($creditCard);
echo $ccJSON;
$conn->close();
请记住,如果不是绝对必要,您确实不希望将所有这些信用卡详细信息存储在数据库中。我劝你到别处去办理信用卡付款。我想你会想这样做:
// get the cards
$jsonresult = $conn->query("SELECT nameOnCard, cardNumber, cardType, cardDate, ccvCode
FROM cy_user_credit_cards
WHERE accountNumber='$accountNumber'");
$creditCard = [];
while ($row = mysqli_fetch_assoc($jsonresult)) {
array_push($creditCard, [
'Name' => $row['nameOnCard'],
'Number' => $crypt->decrypt($row['cardNumber']),
'Type' => $row['cardType'],
'Date' => $row['cardDate'],
'ccv' => $row['ccvCode']
]);
}
// Convert the Array to a JSON String and echo it
$ccJSON = json_encode($creditCard);
echo $ccJSON;
$conn->close();
请记住,如果不是绝对必要,您确实不希望将所有这些信用卡详细信息存储在数据库中。我强烈建议您去别处处理信用卡支付。您可以在将数据推入数组时解密字符串,如下所示:
array_push($creditCard, [
'Name' => $row['nameOnCard'],
'Number' => $crypt->decrypt($row['cardNumber']),
'Type' => $row['cardType'],
'Date' => $row['cardDate'],
'ccv' => $row['ccvCode']
]);
您可以在将数据推入数组时解密字符串,如下所示:
array_push($creditCard, [
'Name' => $row['nameOnCard'],
'Number' => $crypt->decrypt($row['cardNumber']),
'Type' => $row['cardType'],
'Date' => $row['cardDate'],
'ccv' => $row['ccvCode']
]);
我忘了提到我已经试过了,出于某种原因,它不起作用。最后的echo$ccJSON语句甚至不起作用?根本不起作用@NitsewReplace
echo$ccJSON代码>带有变量转储($ccJSON)代码>并告诉我您得到了什么。数据库查询可能有问题。尝试执行var_dump(mysqli_fetch_assoc($jsonresult))
我忘了提到我已经试过了,出于某种原因,它不起作用。最后的echo$ccJSON语句甚至不起作用?根本不起作用@NitsewReplaceecho$ccJSON代码>带有变量转储($ccJSON)代码>并告诉我您得到了什么。数据库查询可能有问题。尝试执行var_dump(mysqli_fetch_assoc($jsonresult))代码>我忘了提到我已经试过了,它不起作用。我想你应该提到你是如何加密数据的。如果您试图使用decrypt()
此列对列进行解密,但您本身使用md5()
对其进行了加密,则肯定无法工作。在将loc插入数据库之前,能否将其添加到加密的位置?刻录:$encp=$crypt->encrypt($text)@Tinotenda我无法在PHP文档中搜索任何本机encrypt()
函数(而且我以前从未使用过它)。我想你是把它当作插件用的吧?啊,我明白了。我认为答案就在插件的文档/手册中。也许你的自定义类只提供加密而不提供解密(这很奇怪),就像你使用了错误的函数一样。我忘了提到我已经尝试过了,它不起作用。我想你应该提到你是如何加密数据的。如果您试图使用decrypt()
此列对列进行解密,但您本身使用md5()
对其进行了加密,则肯定无法工作。在将loc插入数据库之前,能否将其添加到加密的位置?刻录:$encp=$crypt->encrypt($text)@Tinotenda我无法在PHP文档中搜索任何本机encrypt()
函数(而且我以前从未使用过它)。我想你是把它当作插件用的吧?啊,我明白了。我认为答案就在插件的文档/手册中。也许您的自定义类只提供加密而不提供解密(这会很奇怪),就像或者您使用了错误的函数那样。