• 1400/02/01

ایجاد امضای دیجیتال :

سلام 

برای پیاده سازی امضای دیجیتال که در C# کد زیر است راه حلی برای Django وجود دارد :

publicstringGetSign(stringdata){varcs = newCspParameters { KeyContainerName = "PaymentTest"};varrsa = newRSACryptoServiceProvider(cs) { PersistKeyInCsp = false};rsa.Clear();rsa = newRSACryptoServiceProvider();rsa.FromXmlString("<RSAKeyValue><Modu-lus>2vW5l4pF6e2xBe4L0pq197o2/Xm6A4ktgYme+S/7SAQglFYb9swyrXzeeZGM0FDzi-UuxPJpCmG85As35L3PBHc5D/cVWt7HyrgoygXguzIVFLQPcS-kGlPhiu/9wXFl+wt579JloapjYIM99vzwsw1X8W5HMWO02snNR4Gh+KujE=</Modulus><Expo-nent>AQAB</Exponent><P>7TpcqQxQSnxQuGXg1gAExDjkLZRu-WXMsMZ1HcGs9B659ZCtyx0K9PZeBb+rSbsDiQ53ME7gfr1qez5OJs8V3Kw==</P><Q>7ElMHADjw9SjcIoA9ZiEtdZN-lesfuxImTJ3ZSgVJLHm1DzpddZizOiPMcoJB30p9DUybV0yA92Ks9vPON1emEw==</Q><DP>M5IXaKyDm92wkpWbLgps/tc7S2lUH9/4wIRnblnxt4TIP4lud0Db8NLJ0bGjs239AiQAp-FzHjpBNq+Rv8APCZw==</DP><DQ>t1v15PFHzorvPgDJ18xAh/9Ce+lW2UuvTtt-baFaLvyi/OY74Qa56vs5S9DVius1KF4zwKyGiHteDE6yExWuN4w==</DQ><InverseQ>ps0bU-jxFx2RxXgvA8nU+C+RSGVI3UgoUMD9L+asg2YrCSj11S1RQqu4Yh+bkIY3sb58/5VpzRZ1/DufdZ1/LFw==</InverseQ><D>Ohw2yioPTfsgHRPFHXqjyoAoMfNJU8DnS9arUzTRupYl01hbCY+9718Ra-DAhr/Ob/pcRDaVfATebaMwjUt2kpXe6R5TQ7dfShxNqbBgQtPBXvjuhoOtU6mFOWSyE-GQUEsVsVSexvJyM/I1aXj9m9BHVSp0gp6+Jb5yYM/G2PnbU=</D></RSAKeyValue>");byte[] signMain = rsa.SignData(Encoding.UTF8.GetBytes(data), newSHA1CryptoServiceProvider());stringsign = Convert.ToBase64String(signMain);returnsign;}

 

این شیوه برای درگاه پاسارگاد استفاده میشه

با تشکر

 

  • 1400/02/03
  • ساعت 02:13

public string GetSign(string data){
var cs = new CspParameters { KeyContainerName = "PaymentTest"};
var rsa = new RSACryptoServiceProvider(cs){ PersistKeyInCsp = false};
rsa.Clear();
rsa = new RSACryptoServiceProvider();
rsa.FromXmlString("<RSAKeyValue><Modu-lus>2vW5l4pF6e2xBe4L0pq197o2/Xm6A4ktgYme+S/7SAQglFYb9swyrXzeeZGM0FDzi-UuxPJpCmG85As35L3PBHc5D/cVWt7HyrgoygXguzIVFLQPcS-kGlPhiu/9wXFl+wt579JloapjYIM99vzwsw1X8W5HMWO02snNR4Gh+KujE=</Modulus><Expo-nent>AQAB</Exponent><P>7TpcqQxQSnxQuGXg1gAExDjkLZRu-WXMsMZ1HcGs9B659ZCtyx0K9PZeBb+rSbsDiQ53ME7gfr1qez5OJs8V3Kw==</P><Q>7ElMHADjw9SjcIoA9ZiEtdZN-lesfuxImTJ3ZSgVJLHm1DzpddZizOiPMcoJB30p9DUybV0yA92Ks9vPON1emEw==</Q><DP>M5IXaKyDm92wkpWbLgps/tc7S2lUH9/4wIRnblnxt4TIP4lud0Db8NLJ0bGjs239AiQAp-FzHjpBNq+Rv8APCZw==</DP><DQ>t1v15PFHzorvPgDJ18xAh/9Ce+lW2UuvTtt-baFaLvyi/OY74Qa56vs5S9DVius1KF4zwKyGiHteDE6yExWuN4w==</DQ><InverseQ>ps0bU-jxFx2RxXgvA8nU+C+RSGVI3UgoUMD9L+asg2YrCSj11S1RQqu4Yh+bkIY3sb58/5VpzRZ1/DufdZ1/LFw==</InverseQ><D>Ohw2yioPTfsgHRPFHXqjyoAoMfNJU8DnS9arUzTRupYl01hbCY+9718Ra-DAhr/Ob/pcRDaVfATebaMwjUt2kpXe6R5TQ7dfShxNqbBgQtPBXvjuhoOtU6mFOWSyE-GQUEsVsVSexvJyM/I1aXj9m9BHVSp0gp6+Jb5yYM/G2PnbU=</D></RSAKeyValue>");
byte[] signMain = rsa.SignData(Encoding.UTF8.GetBytes(data), newSHA1CryptoServiceProvider());
string sign = Convert.ToBase64String(signMain)
return sign;
}
 

به قول استاد مدائنی کد باید تمیز و خانا باشه


  • 1400/02/04
  • ساعت 11:32

سلام دوست من

پکیج هایی هستن که این کار رو انجام میدن

مثال : https://pypi.org/project/django-signature/


logo-samandehi