Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(SQL Server) Encrypting or Hashing Hex or Base64 Encoded Binary DataThis example demonstrates how to encrypt binary input data that is in an encoded string form, such as "hex" or "base64". The goal is to do the following:
-- Important: See this note about string length limitations for strings returned by sp_OAMethod calls. -- CREATE PROCEDURE ChilkatSample AS BEGIN DECLARE @hr int -- This example requires the Chilkat API to have been previously unlocked. -- See Global Unlock Sample for sample code. DECLARE @crypt int -- Use "Chilkat_9_5_0.Crypt2" for versions of Chilkat < 10.0.0 EXEC @hr = sp_OACreate 'Chilkat.Crypt2', @crypt OUT IF @hr <> 0 BEGIN PRINT 'Failed to create ActiveX component' RETURN END DECLARE @sHexBinary nvarchar(4000) SELECT @sHexBinary = '9D4203A3FF07791A1CD7FB0075D179E14E8B9DBEBFDE24F6D04613B8397B328E' -- The input is hex-encoded binary data, so set the Charset property = "hex" -- The Charset can also be "base64". EXEC sp_OASetProperty @crypt, 'Charset', 'hex' -- The output will be encoded to hex also. EXEC sp_OASetProperty @crypt, 'EncodingMode', 'hex' EXEC sp_OASetProperty @crypt, 'HashAlgorithm', 'ripemd160' DECLARE @hash nvarchar(4000) EXEC sp_OAMethod @crypt, 'HashStringENC', @hash OUT, @sHexBinary PRINT 'RIPEMD160: ' + @hash -- Important: This example requires Chilkat v9.5.0.49 or greater to work correctly. -- The same can be accomplished w/ encryption: EXEC sp_OASetProperty @crypt, 'CryptAlgorithm', 'aes' EXEC sp_OASetProperty @crypt, 'CipherMode', 'cbc' EXEC sp_OASetProperty @crypt, 'KeyLength', 256 EXEC sp_OASetProperty @crypt, 'PaddingScheme', 0 EXEC sp_OASetProperty @crypt, 'Charset', 'hex' EXEC sp_OASetProperty @crypt, 'EncodingMode', 'hex' DECLARE @ivHex nvarchar(4000) SELECT @ivHex = '000102030405060708090A0B0C0D0E0F' EXEC sp_OAMethod @crypt, 'SetEncodedIV', NULL, @ivHex, 'hex' DECLARE @keyHex nvarchar(4000) SELECT @keyHex = '000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F' EXEC sp_OAMethod @crypt, 'SetEncodedKey', NULL, @keyHex, 'hex' DECLARE @encStr nvarchar(4000) EXEC sp_OAMethod @crypt, 'EncryptStringENC', @encStr OUT, @sHexBinary PRINT @encStr -- Important: This example requires Chilkat v9.5.0.49 or greater to work correctly. DECLARE @decStr nvarchar(4000) EXEC sp_OAMethod @crypt, 'DecryptStringENC', @decStr OUT, @encStr PRINT @decStr EXEC @hr = sp_OADestroy @crypt END GO |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.