J'utilise phpseclib pour effectuer le cryptage Triple DES.TripleDES - équivalent phpseclib du code C#
Voici ce que j'ai pour le cryptage.
<?php
use phpseclib\Crypt\TripleDES;
class Foo
{
public function encrypt()
{
$encryptMe = new TripleDES();
$encryptMe->setKey(md5('cEvu4MHkqz7mQgeqmB6mQEXi'));
$encryptMe->setIV('jvz8bUAx');
$encryptMe->paddable = false;
$cipherText = $encryptMe->encrypt("{phrase:'user123',time:'9/11/2017 02:27:19 PM',username:'user1'}");
return rawurlencode(base64_encode($cipherText));
// result : Uru1%2BUpN7oelxj7ngPkkPoK%2FoIw8SoizR8fbDVX4Wicxi8DvY4kcau1fsUVAkNf1oLVr1g4RG0yD2LyL%2FNU7zDWv4cGxVQ%2FL
}
}
Il fonctionne, mais il est de ne pas avoir le même résultat de mon code C# ici: http://rextester.com/KNJGP9315
// C# result : Hq3BJmupqU6KuvJQ3aoPvQfopOoAaD0RGoFCIDj6U9uIR%2BJloaS2X7klHSfwhptEuoEz5iPeRNbJnwZmOfM1Aw%3D%3D
EDIT: réglage
Mon C# Triple DES est comme suit:
Mode = CBC
Padding = Zeros
Je pense que j'ai manqué un paramètre ou quelque chose. Toute aide fera l'affaire!
Il ne va pas aider quelqu'un à revenir à cette question dans un an pour avoir tout le code C# manquant, et le seul indice qu'il y ait jamais eu est un lien mort? Veuillez conserver tous les détails de la question, y compris le code, dans la question elle-même. –