我有用于加密和解密密码的主要函数类。但是在这里,我想在我的php中调用该函数(现在是另一个php)。因此,数据库应该已经加密了密码但还没有。我怎么才能得到它?它应该被加密在数据库中,并加密以供用户查看。谢谢。 我拥有的功能是:
PHP
function addEmployee() {
global $ehorsObj;
$employeeID = (isset($_POST['employeeID']) ? $_POST['employeeID'] : '');
$employeeName = (isset($_POST['employeeName']) ? $_POST['employeeName'] : '');
$departmentID = (isset($_POST['departmentID']) ? $_POST['departmentID'] : '');
$positionID = (isset($_POST['positionID']) ? $_POST['positionID'] : '');
$languageID = (isset($_POST['languageID']) ? $_POST['languageID'] : '');
$userName = (isset($_POST['userName']) ? $_POST['userName'] : '');
$passWord = (isset($_POST['passWord']) ? $_POST['passWord'] : '');
$srAuthorized = (isset($_POST['srAuthorized']) ? $_POST['srAuthorized'] : '');
$srMultiDepAuthorized = (isset($_POST['srMultiDepAuthorized']) ? $_POST['srMultiDepAuthorized'] : '');
$headOfDepartment = (isset($_POST['headOfDepartment']) ? $_POST['headOfDepartment'] : '');
$employeeID = $_SESSION['employeeID'];
$propertyID = $_SESSION['propertyID'];
$Crypted = $ehorsObj->EHORS_CRYPT_VAR($passWord);
$DeCrypted = $ehorsObj->EHORS_DECRYPT_VAR($Crypted);
/* check unique */
$sqlCount = "SELECT COUNT(*) AS TOTAL FROM tblHrsEmployee
WHERE employeeID != '" . $employeeID . "'
AND employeeName = '" . $employeeName . "'
AND departmentID = '" . $departmentID . "'
AND positionID = '" . $positionID . "'
AND languageID = '" . $languageID . "'
AND userName = '" . $userName . "'
AND passWord = '" . $passWord . "'
AND srAuthorized = '" . $srAuthorized . "'
AND srMultiDepAuthorized = '" . $srMultiDepAuthorized . "'
AND headOfDepartment = '". $headOfDepartment ."'";
$GetResult = $ehorsObj->FetchData($sqlCount, $ehorsObj->DEFAULT_PDO_CONNECTIONS);
while ($row = $GetResult->fetch()){
$total = $row ['TOTAL'];
}
if ($total == 0){
$employeeID = $ehorsObj->EHORS_PK("tblHrsEmployee");
$sqlAdd = "INSERT INTO tblHrsEmployee
SET employeeID = '" . $employeeID . "',
employeeName = '" . $employeeName . "',
departmentID = '" . $departmentID . "',
positionID = '" . $positionID . "',
languageID = '" . $languageID . "',
userName = '" . $userName . "',
passWord = '" . $DeCrypted . "',
srAuthorized = '" . $srAuthorized . "',
srMultiDepAuthorized = '" . $srMultiDepAuthorized . "',
headOfDepartment = '". $headOfDepartment ."',
propertyID = '" . $propertyID . "',
active = 'y',
dateTimeEmployee = NOW() ";
$ehorsObj->ExecuteData($sqlAdd, $ehorsObj->DEFAULT_PDO_CONNECTIONS);
}else{
echo "Record already exist";
}}
JavaScript
{ field: "passWord", hidden:true, title:"Password", editor: getPassword},
function getPassword(container, options) {
$('<input data-text-field="' + options.field + '" ' +
'class="k-input k-textbox" ' +
'type="password" ' +
'data-value-field="' + options.field + '" ' +
'data-bind="value:' + options.field + '"/>')
.appendTo(container)
}
答案 0 :(得分:0)
尝试这样的事情
Php:
global $ehorsObj;
$encrypted_pass = "";
$decrypted_pass = "";
$sql = "SELECT passWord FROM tblHrsEmployee WHERE employeeID = '" . $employeeID . "' ";
$data = $ehorsObj->ExecuteData($sql, $ehorsObj->DEFAULT_PDO_CONNECTIONS)->fetchAll();
foreach ($data as $row) {
$encrypted_pass = $row['passWord']."<br />\n";
}
$decrypted_pass = $ehorsObj->EHORS_DECRYPT_VAR($encrypted_pass);
html:
<input type="hidden" class="decrypted_pass" name="decrypted_pass" value="<?=$decrypted_pass?>" >
javascript:
$( document ).ready(function() {
console.log($(".decrypted_pass").val());
//will show decrypted pass at console.log
});