Chilkat Examples

ChilkatHOMEAndroid™Classic ASPCC++C#Mono C#.NET Core C#C# UWP/WinRTDataFlexDelphi ActiveXDelphi DLLVisual FoxProJavaLianjaMFCObjective-CPerlPHP ActiveXPHP ExtensionPowerBuilderPowerShellPureBasicCkPythonChilkat2-PythonRubySQL ServerSwiftTclUnicode CUnicode C++Visual Basic 6.0VB.NETVB.NET UWP/WinRTVBScriptXojo PluginNode.jsExcel

C# UWP/WinRT Examples


ASN.1
Amazon S3
Amazon S3 (new)
Amazon SES
Amazon SNS
Amazon SQS
Azure Cloud Storage
Azure Service Bus
Bounced Email
Box
CSR
CSV
Certificates
Compression
DKIM / DomainKey
DSA
Diffie-Hellman
Digital Signatures
Dropbox
Dynamics CRM
ECC
Email Object
Encryption
FTP
Facebook
Firebase
GeoOp
Google APIs
Google Calendar
Google Cloud Storage
Google Drive
Google Sheets
Gzip
HTML-to-XML/Text
HTTP
HTTP Misc
IMAP
JSON
JSON Web Encryption (JWE)
JSON Web Signatures (JWS)
JSON Web Token (JWT)
Java KeyStore (JKS)

Jira
MHT / HTML Email
MIME
Microsoft Graph
NTLM
OAuth1
OAuth2
OneDrive
OpenSSL
Outlook
PEM
PFX/P12
POP3
PRNG
PayPal
Peoplevox
QuickBooks
REST
REST Misc
RSA Encryption
SCP
SFTP
SMTP
SSH
SSH Key
SSH Tunnel
SharePoint
Shopify
Socket/SSL/TLS
Spider
Stream
Stripe
SugarCRM
Tar Archive
Twitter
VoiceBase
Walmart
WebSocket
XAdES
XML
XML Digital Signatures
XMP
Xero
Zip
curl
eBay

 

 

 

(C# UWP/WinRT) PBKDF1 - Derive Key from Password

Demonstrates how to derive a symmetric encryption key from a password using PBKDF1. This example matches the results found at this URL: http://www.di-mgt.com.au/cryptoKDFs.html#examplespbkdf

It also matches the output produced by the .NET Framework using this C# code:

            byte[] salt = new byte[] { 0x78, 0x57, 0x8E, 0x5A, 0x5D, 0x63, 0xCB, 0x06 };
            PasswordDeriveBytes cdk = new PasswordDeriveBytes("password", salt);

            cdk.IterationCount = 1000;
            cdk.HashName = "SHA1";

            // generate a 16-byte key
            byte[] key = cdk.GetBytes(16);

Chilkat Universal Windows Platform (UWP) / WinRT Downloads

Chilkat for the Universal Windows Platform (UWP)

Chilkat.Crypt2 crypt = new Chilkat.Crypt2();

bool success = crypt.UnlockComponent("Anything for 30-day trial");
if (success != true) {
    Debug.WriteLine(crypt.LastErrorText);
    return;
}

string hexKey;
//  http://www.di-mgt.com.au/cryptoKDFs.html#examplespbkdf

string pw = "password";
string pwCharset = "ansi";
//  Hash algorithms may be: sha1, md2, md5, etc.
string hashAlg = "sha1";
//  The salt should be 8 bytes:
string saltHex = "78578E5A5D63CB06";
int iterationCount = 1000;
//  Derive a 128-bit key from the password.
int outputBitLen = 128;

//  The derived key is returned as a hex or base64 encoded string.
//  (Note: The salt argument must be a string that also uses
//  the same encoding.)
string enc = "hex";

hexKey = crypt.Pbkdf1(pw,pwCharset,hashAlg,saltHex,iterationCount,outputBitLen,enc);

Debug.WriteLine(hexKey);

//  The output should have this value:
//  DC19847E05C64D2FAF10EBFB4A3D2A20

 

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