[c#][Web Service]cryptage et decryptage
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:
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:
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 :lol: