To Krychlik :
Ja vim :-) ten Privatkey se stejne jeste zmeni :-) tohle mel byt testovaci klic...potrebuju ale poradit
Příspěvky odeslané z IP adresy 88.146.220.–
Ahoj, muze mi prosim nekdo poradit se sifrovanim pomoci RSA ?
Resim nasledujici prakticky problem v jednom webshopu.
1) Externi webova aplikace umoznuje pouhym kliknutim, aby se jeji uzivatel automaticky prihlasil do naseho webshopu
2) automaticke prihlaseni je reseno tak, ze uzivatel proste klikne na link, ktery vypada takto:
http://shop.mailshop.de/optiswiss.ch?osauth=1163854957283A1188831830629A598183454357A311881334577A863719981620A1136485370090A
3) obsah promenne osauth je cislo zakaznika a datum....po rozsifrovani vypada takto:
03.09.2009 14:11:09#080999
4) mam napsany nize uvedeny kod, kterym se pokousim rozsifrovat ten obsah promenne osauth, ale nedari se mi to.
Definici pro public key, private key a rsa modulu jsem dostal od majitele externi webove aplikace, ktery je vygeneroval pro muj ucel.
Pro rozsifrovani mi ale prece staci PRIVET KEY ze ?
5) muj problem je ve funkci RSADecrypt na radce RSA.ImportParameters(RSAKeyInfo);...tady mi to hazi chybu "CrypthographicException -> Bad Length. "
Pomozte mi prosim nekdo
zde je zdrojovy kod a definice
Public-Key: 1207919
Private-Key: 285642214367
RSA-Modulo: 1290114063053
RSAParameters RSAKeyInfo = new RSAParameters();
RSAKeyInfo.Modulus = BitConverter.GetBytes(1290114063053);
RSAKeyInfo.Exponent = BitConverter.GetBytes(1207919);
RSAKeyInfo.D = BitConverter.GetBytes(285642214367);
string text = @"1163854957283A1188831830629A598183454357A311881334577A863719981620A1136485370090A";
ASCIIEncoding encoding=new ASCIIEncoding();
byte[] input = encoding.GetBytes(text); // zasifrovana data v podobe pole bytu
byte[] output = RSADecrypt(input, RSAKeyInfo, true);
Console.WriteLine("Vysledek: {0}", Encoding.ASCII.GetString(output)); // kodovani zvol podle potreby
static public byte[] RSADecrypt(byte[] DataToDecrypt, RSAParameters RSAKeyInfo, bool DoOAEPPadding)
{
try
{
byte[] decryptedData;
using (RSACryptoServiceProvider RSA = new RSACryptoServiceProvider())
{
RSA.ImportParameters(RSAKeyInfo);
decryptedData = RSA.Decrypt(DataToDecrypt, DoOAEPPadding);
}
return decryptedData;
}
catch (CryptographicException e)
{
Console.WriteLine(e.ToString());
return null;
}
}
Vysledek ma vypadat takto:
http://shop.mailshop.de/optiswiss.ch?osauth=03.09.2009 14:11:09#080999