php/VB.net cross encrypt/decrypt code

php/VB.net cross encrypt/decrypt code

Postby Saman » Tue Jul 05, 2011 1:43 pm

PHP Code
Code: Select all
<?php

ini_set
('display_errors'1);
error_reporting(E_ALL);

$ky 'lkirwf897+22#bbtrm8814z5qq=498j5'// 32 * 8 = 256 bit key
$iv '741952hheeyy66#cs!9hjv887mxx7@8y'// 32 * 8 = 256 bit iv

$text "Here is my data to encrypt!!!";

$from_vb "QBlgcQ2+v3wd8RLjhtu07ZBd8aQWjPMfTc/73TPzlyA=";   // enter value from vb.net app here to test

$etext encryptRJ256($ky$iv$text);
$dtext decryptRJ256($ky$iv$etext);
$vtext decryptRJ256($ky$iv$from_vb);

echo 
"<HR>orignal string: $text";
echo 
"<HR>encrypted in php: $etext";
echo 
"<HR>decrypted in php: $dtext";
echo 
"<HR>encrypted in vb: $from_vb";
echo 
"<HR>from vb decrypted in php: $vtext"
echo 
"<HR>If you like it say thanks! richard dot varno at gmail dot com";

exit;



function 
decryptRJ256($key,$iv,$string_to_decrypt)
{
    
$string_to_decrypt base64_decode($string_to_decrypt);
    
$rtn mcrypt_decrypt(MCRYPT_RIJNDAEL_256$key$string_to_decryptMCRYPT_MODE_CBC$iv);
    
$rtn rtrim($rtn"\0\4");

    return(
$rtn);
}


function 
encryptRJ256($key,$iv,$string_to_encrypt)
{
    
$rtn mcrypt_encrypt(MCRYPT_RIJNDAEL_256$key$string_to_encryptMCRYPT_MODE_CBC$iv);
    
$rtn base64_encode($rtn);

    return(
$rtn);
}    

?>



VB.Net Code
Code: Select all
Imports System
Imports System.Text
Imports System.Security.Cryptography
Imports System.IO

Module Module1

    Sub Main()

        'Shared 256 bit Key and IV here
        Dim sKy As String = "lkirwf897+22#bbtrm8814z5qq=498j5"  '32 chr shared ascii string (32 * 8 = 256 bit)
        Dim sIV As String = "741952hheeyy66#cs!9hjv887mxx7@8y"  '32 chr shared ascii string (32 * 8 = 256 bit)

        Dim sTextVal As String = "Here is my data to encrypt!!!"

        Dim eText As String
        Dim dText As String

        eText = EncryptRJ256(sKy, sIV, sTextVal)
        dText = DecryptRJ256(sKy, sIV, eText)

        Console.WriteLine("key: " & sKy)
        Console.WriteLine()
        Console.WriteLine(" iv: " & sIV)
        Console.WriteLine("txt: " & sTextVal)
        Console.WriteLine("encrypted: " & eText)
        Console.WriteLine("decrypted: " & dText)
        Console.WriteLine("If you like it say thanks! richard dot varno at gmail dot com")
        Console.WriteLine("press any key to exit")
        Console.ReadKey(True)

    End Sub

    Public Function DecryptRJ256(ByVal prm_key As String, ByVal prm_iv As String, ByVal prm_text_to_decrypt As String)

        Dim sEncryptedString As String = prm_text_to_decrypt

        Dim myRijndael As New RijndaelManaged
        myRijndael.Padding = PaddingMode.Zeros
        myRijndael.Mode = CipherMode.CBC
        myRijndael.KeySize = 256
        myRijndael.BlockSize = 256

        Dim key() As Byte
        Dim IV() As Byte

        key = System.Text.Encoding.ASCII.GetBytes(prm_key)
        IV = System.Text.Encoding.ASCII.GetBytes(prm_iv)

        Dim decryptor As ICryptoTransform = myRijndael.CreateDecryptor(key, IV)

        Dim sEncrypted As Byte() = Convert.FromBase64String(sEncryptedString)

        Dim fromEncrypt() As Byte = New Byte(sEncrypted.Length) {}

        Dim msDecrypt As New MemoryStream(sEncrypted)
        Dim csDecrypt As New CryptoStream(msDecrypt, decryptor, CryptoStreamMode.Read)

        csDecrypt.Read(fromEncrypt, 0, fromEncrypt.Length)

        Return (System.Text.Encoding.ASCII.GetString(fromEncrypt))

    End Function


    Public Function EncryptRJ256(ByVal prm_key As String, ByVal prm_iv As String, ByVal prm_text_to_encrypt As String)

        Dim sToEncrypt As String = prm_text_to_encrypt

        Dim myRijndael As New RijndaelManaged
        myRijndael.Padding = PaddingMode.Zeros
        myRijndael.Mode = CipherMode.CBC
        myRijndael.KeySize = 256
        myRijndael.BlockSize = 256

        Dim encrypted() As Byte
        Dim toEncrypt() As Byte
        Dim key() As Byte
        Dim IV() As Byte

        key = System.Text.Encoding.ASCII.GetBytes(prm_key)
        IV = System.Text.Encoding.ASCII.GetBytes(prm_iv)

        Dim encryptor As ICryptoTransform = myRijndael.CreateEncryptor(key, IV)

        Dim msEncrypt As New MemoryStream()
        Dim csEncrypt As New CryptoStream(msEncrypt, encryptor, CryptoStreamMode.Write)

        toEncrypt = System.Text.Encoding.ASCII.GetBytes(sToEncrypt)

        csEncrypt.Write(toEncrypt, 0, toEncrypt.Length)
        csEncrypt.FlushFinalBlock()

        encrypted = msEncrypt.ToArray()

        Return (Convert.ToBase64String(encrypted))

    End Function

End Module
User avatar
Saman
Support Team
Support Team
 
Posts: 813
Joined: Fri Jul 31, 2009 5:02 pm
Cash on hand: 152,553.20
Location: Mount Lavinia
Medals: 1
EC_Achievment (1)

Invitations sent: 44
Registered friends: 1
Reputation point: 37
Staff Sergeant

Return to PHP & MySQL

Who is online

Users browsing this forum: No registered users and 1 guest