Bonjour a tous,

voila, je travaille sur un Web Service en C# et je suis amené a passer (en XML)
des données qui devraient êtres cryptées.

j'ai bien trouvé la manière de les crypter en C# mais une fois dans mon Web Service (et vu que je suis nul en php question cryptage) je ne sais pas trop
comment décrypter mes données.

ma classe de cryptage en C#

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
 
 
using System;
using System.Collections.Generic;
using System.Text;
using System.Security.Cryptography;
using System.IO;
 
namespace Crypto
{
    class Crypto3Des
    {
        public static string Encrypt3Des(string toEncrypt, string sKey, string sIV)
        {
            TripleDESCryptoServiceProvider tdes = (TripleDESCryptoServiceProvider)TripleDESCryptoServiceProvider.Create();
            tdes.Key = Encoding.ASCII.GetBytes(sKey);
            tdes.IV = Encoding.ASCII.GetBytes(sIV);
            tdes.Padding = PaddingMode.Zeros;
            tdes.Mode = CipherMode.CFB;
 
            MemoryStream ms = new MemoryStream();
            CryptoStream ecs = new CryptoStream(ms, tdes.CreateEncryptor(), CryptoStreamMode.Write);
            ecs.Write(Encoding.ASCII.GetBytes(toEncrypt), 0, toEncrypt.Length);
            ecs.Close();
            byte[] encData_byte = ms.ToArray();
 
            byte[] final = new byte[tdes.IV.Length + encData_byte.Length];
            for (int i = 0; i < tdes.IV.Length; i++)
            {
                final[i] = tdes.IV[i];
            }
            for (int i = 0; i < encData_byte.Length; i++)
            {
                final[tdes.IV.Length + i] = encData_byte[i];
            }
 
            return Convert.ToBase64String(final);
        }
    }
}
la fonction de cette classe vient d'ici

http://www.developpez.net/forums/sho...hlight=crypter

mais comme vous pouvez le voir, la(les) fonctions php sont issues d'une classe et donc je m'y perd un peu....

quelqu'un pourrait m'aider a y voir plus clair ?

les fonctions php ou je me perd (en brut) issues du même post

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 
function _base64url_decode($text){
		$base64url = strtr($text, '-_','+/');
		$base64 = base64_decode($base64url);
		return ($base64);
	}
 
function _decrypt($crypttext) {
		$crypttext=$this->_base64url_decode($crypttext);
		$ivsize = mcrypt_get_iv_size($this->cypher,$this->mode);
		$iv = substr($crypttext, 0, $ivsize);
		$crypttext = substr($crypttext, $ivsize);
		mcrypt_generic_init ($this->td, $this->key, $iv);
		$plaintext = mdecrypt_generic ($this->td, $crypttext);
		mcrypt_generic_deinit ($this->td);
		return $plaintext;
	}
est il a préciser que je n'ai besoin que de crypter en C# et decrypter en php, et pas l'inverse