我使用heroku在php中创建了一个登录页,我在Salesforce中创建了一个自定义文本(加密)字段,我想用php解密它,以便将用户输入的数据与解密的数据进行比较。我怎样才能做到这一点?如果有人有相同的解决方案,请帮忙。
while ($row = pg_fetch_row($result)) {
if (base64_decode($row[1]) == $_POST['password']) {
echo "You are a validated user/n";
echo "HELLO" . $_POST['email'];
exit;
}
}
代码:
$query = "SELECT Email , Password__c FROM salesforce.contact ;";
$result= pg_query($query);
$row = pg_fetch_row($result);
echo "Row password " .$row[1];
echo "<br>";
echo "Post password " .$_POST['password'];
echo "<br>";
输出:
($row[2]=>)行密码***********
邮政密码123456789
enter image description here
最佳答案
这里的问题是您不知道Salesforce中的数据是如何加密的。默认情况下,从这些字段上的查询返回的数据只是******
,外部应用程序无法对此进行解密。
如果要查看这些字段中的值,则需要查询用户具有View Encrypted Data
权限,该权限可以在用户配置文件上或通过权限集授予。
一旦您的用户拥有此权限,他们将能够在以下位置查看加密文本字段的纯文本值:
用户界面
批量api
其余api
soap api
调试日志(尽管序列化包含的sObject时不是)