Delphi Examples

ChilkatHOMEASPVisual BasicVB.NETC#Visual C++CMFCDelphiFoxProJavaPerlPHPPythonRubySQL ServerVBScript

Delphi Examples

Bounced Mail
Bz2
Character Encoding
CSV
Digital Certificates
Digital Signatures
DH Key Exchange
DSA
Email
Email Object
FTP
HTML-to-XML
HTTP
IMAP
Encryption
MHT / HTML Email
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

Unreleased...
Bzip2
LZW
Icon

Type Conversion

 

Article: Understanding COM References in Delphi

Hash File: SHA-1, HAVAL, MD2, MD5, SHA-256, SHA-384, SHA-512

Computing the hash for a file of any size.

Download Chilkat Crypt ActiveX

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

...

procedure TForm1.Button1Click(Sender: TObject);
var
crypt: TChilkatCrypt2;
success: Integer;
filename: String;
hash: String;

begin
crypt := TChilkatCrypt2.Create(Self);

//  Any string argument automatically begins the 30-day trial.
success := crypt.UnlockComponent('30-day trial');
if (success <> 1) then
  begin
    ShowMessage('Crypt component unlock failed');

  end;

//  Any type of file may be hashed.
//  There is  no size limitation because the file is consumed
//  in streaming mode internally.

filename := 'something.zip';

crypt.HashAlgorithm := 'sha1';
crypt.EncodingMode := 'hex';

//  Other possible EncodingMode settings are:
//  "quoted-printable", "base64", and "url"

hash := crypt.HashFileENC(filename);
Memo1.Lines.Add('SHA1:');
Memo1.Lines.Add(hash);

//  Hash using MD2
crypt.HashAlgorithm := 'md2';
hash := crypt.HashFileENC(filename);
Memo1.Lines.Add('MD2:');
Memo1.Lines.Add(hash);

//  Hash using MD5
crypt.HashAlgorithm := 'md5';
hash := crypt.HashFileENC(filename);
Memo1.Lines.Add('MD5:');
Memo1.Lines.Add(hash);

//  Hash using SHA-256
crypt.HashAlgorithm := 'sha256';
hash := crypt.HashFileENC(filename);
Memo1.Lines.Add('SHA256:');
Memo1.Lines.Add(hash);

//  Hash using SHA-384
crypt.HashAlgorithm := 'sha384';
hash := crypt.HashFileENC(filename);
Memo1.Lines.Add('SHA384:');
Memo1.Lines.Add(hash);

//  Hash using SHA-512
crypt.HashAlgorithm := 'sha512';
hash := crypt.HashFileENC(filename);
Memo1.Lines.Add('SHA512:');
Memo1.Lines.Add(hash);

//  Hash using HAVAL
//  There are two additional properties relevant to HAVAL:
//  HavalRounds, and KeyLength.
//  HavalRounds can have values of 3, 4, or 5.
//  KeyLength can have values of 128, 160, 192, 224, or 256
crypt.HashAlgorithm := 'haval';
crypt.HavalRounds := 5;
crypt.KeyLength := 256;
hash := crypt.HashFileENC(filename);
Memo1.Lines.Add('Haval:');
Memo1.Lines.Add(hash);


end;

 

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

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

Mail Component · .NET Email Component · XML Parser