You need to sign in to do that
Don't have an account?
karimulla testing
encrption and decrption in salesforce
Hi All,
I have tried to pass user name and password site url, is look like the below.
https://www.salesforce.com/login.jsp?pw=12345&un=sourcetesting@gmail.com
This is working fine ,
but i want to encrypt the username and password while passing in url for security reasons and also want to decript username and password in salesforce side
In my site URL i am using the standard page, is 'login'. is this possible to decrypt the username and password from 'login' page
Over all my requirement is, we have one link. Link contains the above url. User can able to login to by clicking the link without enter the credentials (Custom SSO). In this we want to make the user name and password in the form of encrypt or hide.
Please give me any solutions or work arounds for this
I have tried to pass user name and password site url, is look like the below.
https://www.salesforce.com/login.jsp?pw=12345&un=sourcetesting@gmail.com
This is working fine ,
but i want to encrypt the username and password while passing in url for security reasons and also want to decript username and password in salesforce side
In my site URL i am using the standard page, is 'login'. is this possible to decrypt the username and password from 'login' page
Over all my requirement is, we have one link. Link contains the above url. User can able to login to by clicking the link without enter the credentials (Custom SSO). In this we want to make the user name and password in the form of encrypt or hide.
Please give me any solutions or work arounds for this
Sorry for this issue you are encountering.
May I suggest you please check with below link from the forums community exactly with a similar issue and a suggested workaround which should help you with the above requirement.
- https://developer.salesforce.com/forums/?id=906F0000000AhLEIA0
Hope this will help you.Kindly mark this as solved if it's resolved.
Thanks,
Nagendra
public Employee__c encrypt{get;set;}
public Employee__c query{get;set;}
//Blob cryptoKey;
Blob cryptoKey = Blob.valueOf('12345678901234561234567890123456'); //it 32bytes
public Id recordId{get;set;}
public EncryptExtensioncls(ApexPages.StandardController controller) {
//cryptoKey = Crypto.generateAesKey(256);
// recordId = Apexpages.CurrentPage().getParameters().get('name');
recordId = ApexPages.CurrentPage().getParameters().get('id');
if(recordId !=null){
encrypt = [SELECT id,Name,password__c From Employee__c
WHERE id=:recordId];
}
else{
encrypt = new Employee__c();
}
}
PageReference pageRef = new PageReference('https://www.salesforce.com/login.jsp?pw={!query.password__c}&un={!query.name}');
public PageReference Encrypt(){
Blob data = Blob.valueOf(encrypt.Name);
Blob encryptedData = Crypto.encryptWithManagedIV('AES256', cryptoKey , data );
String b64Data = EncodingUtil.base64Encode(encryptedData);
encrypt.name = b64Data ;
Blob data2 = Blob.valueOf(encrypt.Password__c);
Blob encryptedData2 = Crypto.encryptWithManagedIV('AES256', cryptoKey , data2 );
String b64Data2 = EncodingUtil.base64Encode(encryptedData2);
encrypt.Password__c = b64Data2 ;
insert encrypt;
// PageReference pg = new PageReference ('https://ap5.salesforce.com/a00/o.jsp?password ');
// PageReference pg = new PageReference ('/apex/EncryptExtensioncls?pw={!encrypt.Password__c}&un={!encrypt.name}');
/* PageReference pg = new PageReference ('/apex/EnD?pw={!b64Data2}&un={!b64Data}');
pg.setRedirect(true);
return pg; */
return null;
}
public PageReference Decrypt(){
//Blob cryptoKey = Crypto.generateAesKey(256);
//Blob data = Blob.valueOf(encrypt.Name);
Blob data = EncodingUtil.base64Decode(encrypt.Name);
Blob decryptedData = Crypto.decryptWithManagedIV('AES256', cryptoKey , data);
String dryptData = decryptedData.toString();
System.debug('Printing dryptData '+dryptData);
encrypt.name = dryptData;
Blob data2 = EncodingUtil.base64Decode(encrypt.Password__c);
Blob decryptedData2 = Crypto.decryptWithManagedIV('AES256', cryptoKey , data2);
String dryptData2 = decryptedData2.toString();
System.debug('Printing dryptData '+dryptData2);
encrypt.Password__c = dryptData2;
update encrypt;
/* PageReference pg = new PageReference ('/apex/EnD?pw={!b64Data2}&un={!b64Data}');
pg.setRedirect(true);
return pg; */
return null;
}
// FECTHING THE DATA FROM DATABASE
//public soql1(){
// soql =[select id, name FROM Employee__c where industry ='checkmark' LIMIT 1];
// }
}
visuaforce:
<apex:page standardController="Employee__c" extensions="EncryptExtensioncls">
<apex:form >
<apex:outputLabel >User Name</apex:outputLabel>
<apex:inputField value="{!encrypt.Name}" html-placeholder="Username" />
<apex:outputLabel >Password</apex:outputLabel>
<apex:inputText value="{!encrypt.Password__c}" html-placeholder="Password"/>
<apex:commandButton value="Encrypt" action="{!Encrypt}"/>
<apex:commandButton value="Decrypt" action="{!Decrypt}"/>
<apex:pageBlock >
<apex:pageBlockSection >
<apex:outputField value="{!encrypt.Name}"/>
<apex:outputField value="{!encrypt.Password__c}"/>
</apex:pageBlockSection>
</apex:pageBlock>
</apex:form>
</apex:page>