I found this (I think) on the Embarcadero website, so it's published and not
secure. However, it works elegantly to encrypt the subject. This does not work
on the body. I'm working a solution for that.
Endecrypt({5508BD43-3B8A-44CD-BCD2-99DED0A0218C}{7C5916C6-CC65-4F20-9DF7-
4019D9E6306D}
...becomes...
トᅧᅧᅬᅦᄑ켸ᅩᅭᅩ페효ᅨᅨᄐ쿄ᄑᄐ콰ᅭᅥᅥᄏᄎ쾨회ᅪᅫᅦᄐツト텨ᅥᅫ툐ᄐ텨ᅭᅨ쫘ᅬᅭᅥᄏ쬬ᅨᅬᅫᅥ커초ᅬᄏツ
To "un" crypt, simply make the encrypted text the passed value.
function TForm1.EnDeCrypt(const Value : String) : String;
var CharIndex : integer;
begin
Result := Value;
for CharIndex := 1 to Length(Value) do
Result[CharIndex] := chr(not(ord(Value[CharIndex])));
end;
just me Sam
2条答案
按热度按时间6yt4nkrj1#
目前,Indy本身不支持电子邮件的加密和签名。
加密是可能的一些手动工作,使用第三方库的PGP等。
由于Indy在发送电子邮件时采用动态格式,签名变得更加困难。签名包括在发送前对电子邮件字段和数据进行采样,存储器中的内容不一定是通过网络传输的内容,这使得签名变得困难,但并非不可能。
然而,Indy可以对到电子邮件服务器的套接字连接进行本地加密,但是电子邮件本身仍然是纯文本的,除非由接收者或中间网关进行加密。
确实有第三方解决方案来发送安全电子邮件。例如:
Send Email with Digital Signature in Delphi - S/MIME
StreamSec
(可以在Indy上使用S/MIME)
ecr0jaav2#