在 Salesforce 中保存哈希字符串?

发布于 2024-10-25 05:58:20 字数 170 浏览 4 评论 0原文

不是 SFDC 专家,但需要集成 SFDC 中托管的 Web 表单。由于其他原因,此页面需要捕获初始密码并将该密码的 salted/sha256 版本发送给另一个系统或人员。我显然不想保存明文。

在保存之前对密码进行哈希处理的最简单的方法是什么?我可以在浏览器中执行此操作,但我不想依赖 Javascript。

Not a SFDC expert but need to integrate a web form hosted in SFDC. For other reasons, this page needs to capture an initial password and send off the salted/sha256'd version of the password to another system or a human. I don't want to save the cleartext obviously.

What's the lightest touch way to hash the password before saving? I could do this in the browser except that I don't want to rely on Javascript.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

那一片橙海, 2024-11-01 05:58:20

是的,您应该将此代码添加到 apex 触发器中。

trigger on sObject(before insert){
  for(sObject s: trigger.new){
    s.Hash__c = Crypto.generateDigest('SHA-256', Blob.valueOf(s.passwordString__c));
    s.passwordString__c = null;
  }
}

Yes, you should add this code to an apex trigger.

trigger on sObject(before insert){
  for(sObject s: trigger.new){
    s.Hash__c = Crypto.generateDigest('SHA-256', Blob.valueOf(s.passwordString__c));
    s.passwordString__c = null;
  }
}
晨曦慕雪 2024-11-01 05:58:20

以下是将字符串加密为 SHA256 哈希格式的代码:

//value to process
Blob data= Blob.valueOf('Any String');

或者在字段值的情况下

Blob data= Blob.valueOf(sObject.FieldAPIName));
Blob hash = Crypto.generateDigest('SHA-256', data);
//Convert SHA-256 Hash data to String
String encryptedString =EncodingUtil.convertToHex(hash);

Here is the code to encrypt a string to SHA256 hash format :

//value to process
Blob data= Blob.valueOf('Any String');

or in case of field value

Blob data= Blob.valueOf(sObject.FieldAPIName));
Blob hash = Crypto.generateDigest('SHA-256', data);
//Convert SHA-256 Hash data to String
String encryptedString =EncodingUtil.convertToHex(hash);
不忘初心 2024-11-01 05:58:20

Apex 有一个 Crypto 类,其中包含您需要的 generateDigest 方法,如下所示:

Blob hash = Crypto.generateDigest('SHA-256', Blob.valueOf(passwordString));

Apex has a Crypto class which has a generateDigest method you need, something like:

Blob hash = Crypto.generateDigest('SHA-256', Blob.valueOf(passwordString));
メ斷腸人バ 2024-11-01 05:58:20

这对我有用=>

String abc = EncodingUtil.convertToHex(
             Crypto.generateDigest('SHA-256', 
             Blob.valueOf('test String')));

This worked for me =>

String abc = EncodingUtil.convertToHex(
             Crypto.generateDigest('SHA-256', 
             Blob.valueOf('test String')));
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文