Delphi Examples

ChilkatHOMEASPVisual BasicVB.NETC#Visual C++CMFCDelphiFoxProJavaPerlPHPPythonRubySQL ServerVBScript

Delphi Examples

Bounced Mail
Bz2
Character Encoding
CSV
DKIM / DomainKey
Digital Certificates
Digital Signatures
DH Key Exchange
DSA
Email
Email Object
FTP
HTML-to-XML
HTTP
IMAP
Encryption
MHT / HTML Email
NTLM
POP3
RSA
S/MIME
SMTP
Socket
Spider
SFTP
SSH
SSH Key
SSH Tunnel
String
Tar
Upload
XML
XMP
Zip Compression

More Examples...
Byte Array
FileAccess
RSS
Atom
Self-Extractor
Service
PPMD
Deflate
Bzip2
LZW

Type Conversion

 

Article: Understanding COM References in Delphi

Encrypt XML Subtree

Encrypt an entire subtree within an XML document

uses
    Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
    Dialogs, StdCtrls,
    CHILKATXMLLib_TLB,
    OleCtrls;

...

procedure TForm1.Button1Click(Sender: TObject);
var
xml: CHILKATXMLLib_TLB.IChilkatXml;
xml: CHILKATXMLLib_TLB.IChilkatXml;
xmlM: CHILKATXMLLib_TLB.IChilkatXml;
xmlG: CHILKATXMLLib_TLB.IChilkatXml;
success: Integer;

begin

xml := TChilkatXml.Create(Self).ControlInterface;

//  First, build a sample XML document:

xml := TChilkatXml.Create(Self).ControlInterface;

xml.Tag := 'stocks';

xmlM := xml.NewChild('Microsoft','');
xmlM.NewChild2('symbol','MSFT');
xmlM.NewChild2('recentPrice','34.50');

xmlG := xml.NewChild('Google','');
xmlG.NewChild2('symbol','GOOG');
xmlG.NewChild2('recentPrice','679.00');

//  Display the unencrypted XML:
Memo1.Lines.Add(xml.GetXml());

//  This is the XML displayed:
//  <stocks>
//      <Microsoft>
//          <symbol>MSFT</symbol>
//          <recentPrice>34.50</recentPrice>
//      </Microsoft>
//      <Google>
//          <symbol>GOOG</symbol>
//          <recentPrice>679.00</recentPrice>
//      </Google>
//  </stocks>

//  The goal is to encrypt the "Microsoft" sub-tree.
//  The EncryptContent method encryptes the content
//  within a single XML node (not an entire sub-tree).
//  Therefore, to encrypt a sub-tree,  you must first
//  compress it into a single node, and then encrypt it.
xmlM.ZipTree();

//  Now encrypt the content using 128-bit AES encryption:
xmlM.EncryptContent('secretPassword');

//  Display the XML with the encrypted sub-tree:
Memo1.Lines.Add(xml.GetXml());

//  This is displayed:
//  <stocks>
//      <Microsoft><![CDATA
//  [JkiMcoK3Mi198rT30KvicDEzu5WuJgMH+8KS0UZbcRE
//  2CtdXplphV0iCdPMYnS01O6Ly6S4QCQSReMCshG/V3
//  8btJIZv/VLG9JZRsQk0bBafMhx7B2fQfm8YENke/JIM
//  ]]>    </Microsoft>
//      <Google>
//          <symbol>GOOG</symbol>
//          <recentPrice>679.00</recentPrice>
//      </Google>
//  </stocks>

//  Now decrypt and unzip:
xmlM.DecryptContent('secretPassword');

success := xmlM.UnzipTree();
if (success <> 1) then
  begin
    Memo1.Lines.Add('Failed to unzip tree');
  end;

//  Display the restored document:
Memo1.Lines.Add(xml.GetXml());


end;

 

Need a specific example? Send a request to support@chilkatsoft.com

© 2000-2010 Chilkat Software, Inc. All Rights Reserved.

Mail Component · .NET Email Component · XML Parser