Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια
σε

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

Rijndael in PHP from VB .net

Îåêßíçóå áðü ôï ìÝëïò satsok. Τελευταία δημοσίευση από το μέλος satsok στις 08-02-2015, 23:03. Υπάρχουν 1 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  08-02-2015, 23:01 76440

    Rijndael in PHP from VB .net

    Καλησπέρα σας,

    προσπαθώ να γράψω σε php  τον παρακάτω κώδικα από vb .net:

    'This is the byte Array of "1234567890ABCDEF1234567890ABCDEF". I am using this for IV
    Private _key1 As Byte() = New Byte(15) {CByte(18), CByte(52), CByte(86), CByte(120), CByte(144), CByte(171), _
            CByte(205), CByte(239), CByte(18), CByte(52), CByte(86), CByte(120), _
            CByte(144), CByte(171), CByte(205), CByte(239)} 
    
    
    Public Sub Init()
        Dim sKey As String = "D6850B89370BD603BD48CEAD43488639DE3ABE73D2CF7C54B0CF72D2FB06E162"
        Dim resBytes As Byte() = Me.EncryData("a", sKey)
        File.WriteAllBytes("C:/myFile.txt", resBytes)
    End Sub
    
    
    Public Function EncryData(sPath As String, sKey As String) As Byte()       
        Return Me.AESEncrypt(plainText, Me.Data_Hex_Asc(sKey))
    End Function
    
    
    Public Function Data_Hex_Asc(ByRef Data As String) As Byte()
        Dim str1 As String = ""            
        Dim list As New List(Of Byte)()
        While Data.Length > 0
            Dim num As Integer = CInt(Convert.ToChar(Convert.ToUInt32(Data.Substring(0, 2), 16)))
            Dim str2 As String = Convert.ToChar(Convert.ToUInt32(Data.Substring(0, 2), 16)).ToString()
            list.Add(CByte(Convert.ToUInt32(Data.Substring(0, 2), 16)))
            str1 += str2
            Data = Data.Substring(2, Data.Length - 2)
        End While            
        Return list.ToArray()
    End Function
    
    
    Public Function AESEncrypt(plainText As String, aByte As Byte()) As Byte()          
        Dim symmetricAlgorithm As SymmetricAlgorithm = DirectCast(Rijndael.Create(), SymmetricAlgorithm)
        Dim bytes As Byte() = Encoding.UTF8.GetBytes(plainText)    
        symmetricAlgorithm.Key = aByte
        symmetricAlgorithm.IV = Me._key1
    
        Dim memoryStream As New MemoryStream()
        Dim cryptoStream As New CryptoStream(DirectCast(memoryStream, Stream), symmetricAlgorithm.CreateEncryptor(), CryptoStreamMode.Write)
        cryptoStream.Write(bytes, 0, bytes.Length)
        cryptoStream.FlushFinalBlock()
    
        Dim numArray As Byte() = memoryStream.ToArray()
        cryptoStream.Close()
        memoryStream.Close()
    
        Return numArray
    End Function	
    Σε php έχουμε το παρακάτω:
    $AES_KEY = "D6850B89370BD603BD48CEAD43488639DE3ABE73D2CF7C54B0CF72D2FB06E162";  
    $key = pack('H*', $AES_KEY);
    
    $plaintext =  "a"; ;    
    $iv = pack('H*', "1234567890ABCDEF1234567890ABCDEF");    
    
    $enc_text = mcrypt_decrypt(MCRYPT_RIJNDAEL_128, $key, $plaintext, MCRYPT_MODE_CBC, $iv); 
  •  08-02-2015, 23:03 76441 σε απάντηση της 76440

    Απ: Rijndael in PHP from VB .net

    Αποτελέσματα 

    vb .net: PFΑ&\O?„\LϋAμCt php:_yJ_½%sAj«SUhA 16 chars length και τα δύο.

    Υπάρχει και η ανάρτηση εδώ: http://stackoverflow.com/questions/28398718/rijndael-in-php

     Ευχαριστώ προκαταβολικά 

Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems