不是SFDC专家,但需要集成SFDC中托管的Web表单。由于其他原因,此页面需要捕获初始密码并将salted / sha256'd版本的密码发送给另一个系统或人员。我显然不想保存明文。
在保存之前,最简单的触摸方式是什么?我可以在浏览器中执行此操作,但我不想依赖Javascript。
答案 0 :(得分:2)
是的,您应该将此代码添加到顶点触发器中。
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;
}
}
答案 1 :(得分:1)
Apex有一个Crypto
类,您需要generateDigest
方法,例如:
Blob hash = Crypto.generateDigest('SHA-256', Blob.valueOf(passwordString));
答案 2 :(得分:1)
以下是将字符串加密为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);
答案 3 :(得分:0)
这对我有用=>
String abc = EncodingUtil.convertToHex(
Crypto.generateDigest('SHA-256',
Blob.valueOf('test String')));