# Crypto Letters and Numbers

hello
I would like to know how to change the encryption algorithm below for it to return only letters and numbers?

``````function EncryptDecrypt(InpStr, PassPhrase: string; Salt: Integer): string;
var
iIndex: Integer;
pIndex: Integer;
begin
pIndex := 1;

for iIndex := 1 to Length(InpStr) do
begin
InpStr[iIndex] := Chr(Salt XOR Ord(PassPhrase[pIndex]) XOR Ord(InpStr[iIndex]));
Inc(Salt);
Inc(pIndex);

if (pIndex > Length(PassPhrase)) then
pIndex := 1;
end;

Result := InpStr;
end;
``````

thanks
Wagner
###### Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Commented:
If you change encryption, you will have to change decryption, too!!!
Author Commented:
even having to separate the encryption and decryption codes, what is the solution?

wagner
Software architectCommented:
Do simple base64 encode after you do encrypt and base64 decode before you do decrypt.

http://www.swissdelphicenter.ch/torry/showcode.php?id=1524

http://www.delphipraxis.net/991-base64-mime-en-decoding.html
Senior developer, analyst and customer assistance Commented:
Thommy, sometimes I don't understand your comments.
The function posted by him recursively crypts or decrypts a string giving a pass string and a salt.
@wagnerlimalopes: what is the solution?
I guess there's not solution for what you're asking, using this kind of function, as any parameter you pass could be so variable that it could result in at least one non standard alphanumeric character
To get what you need you should use another kind of encryption/decryption script, or insert some other code to force the range of any character into the alphanumeric range

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

###### It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Delphi

From novice to tech pro — start learning today.