【问题标题】:decrypting salesforce custom field in php解密php中的salesforce自定义字段
【发布时间】:2019-01-20 21:19:40
【问题描述】:

我正在使用 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

【问题讨论】:

  • 请添加您目前尝试过的内容。
  • @NimeshkaSrimal: while($row = pg_fetch_row($result)) { if(base64_decode($row[1]) == $_POST['password']) { echo "你是经过验证的用户/n"; echo "HELLO" .$_POST['email'];出口; } }
  • 这段代码有什么问题?
  • 数据未与帖子数据进行比较
  • 您可以发布从您的 postgres 数据库返回的数据吗?您确定加密方法并且肯定是 base64 吗?请添加 print_r($row);在 while 循环内并打印结果,例如:while ($row = pg_fetch_row($result)) { print_r($row); } }。将其添加到您的问题中。

标签: php postgresql heroku salesforce


【解决方案1】:

这里的问题是您不知道 Salesforce 中的数据是如何加密的。默认情况下,对这些字段的查询返回的数据只是******,外部应用程序无法解密它。

如果您想查看这些字段中的值,您需要查询用户拥有View Encrypted Data 权限,该权限可以在用户配置文件中或通过权限集授予。

一旦您的用户拥有此权限,他们将能够在以下位置看到加密文本字段的纯文本值:

  • 用户界面
  • 批量 api
  • 其余的api
  • soap api
  • 调试日志(虽然不是在序列化包含的 sObject 时)

【讨论】:

  • 即使我更改了用户权限.. 我可以通过查询比较该数据吗?
  • 我更改了用户权限,但输出仍然相同
  • 我想在 php 中访问解密后的文本.. 而不是在 salesforce 中
  • @Aishwarya 如果你想要 php 中的解密文本,你必须查询它已经解密。 Salesforce 没有给您自己解密的方法。
  • 你的意思是我不能使用文本(加密)来访问 php 中的数据吗?
猜你喜欢
  • 2012-11-03
  • 2017-04-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-11-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多