Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   С/С++, C#, Delphi, .NET, Asm (https://forum.antichat.xyz/forumdisplay.php?f=24)
-   -   Исходники алгоритма rsa,и помощь по c++ (https://forum.antichat.xyz/showthread.php?t=204150)

Heroini.14.3 15.05.2010 10:28

Исходники алгоритма rsa,и помощь по c++
 
У меня есть некий страх,что меня пошлют или в гугл или куданить еще,но...
Дело такое,С++ я не знаю и выучить наврятли успею,хотя щас этим и занимаюсь,а мне нужно срочно разобраться с куском кода,если не сложно кто-нибудь может оставить более-мение подробные комметнарии в коде,с обьяснением что это,что это и что в итоге получается,как в школе учителя обьясняли??ПЛЗ)))ну или не очень подробные,но коментарии после которых станет понятно как все это работает(не сам алгоритм а код)мне это ооочень поможет и в коде разобраться и к срр привыкнуть.
вот сам код и файлы которые он инклудит:
http://slil.ru/29136281
и еще...Если не сложно,то могли бы вы сказать зачем ему такое кол-во фалов и как от этого избавиться??(мне нужен чистый алгоритм rsa без цифровых подписей и т.д.,а некоторые файли с ними как-то связаны)
Заранее ОГРОООМНОЕ спасибо))))

NetSter 15.05.2010 13:41

вот тебе моя лаба по RSA, написана на C#

PHP код:

...........//бла бла бла....
    
public class Cryptography
    
{
        public static 
RSACryptoServiceProvider rsa;

        public static 
void AssignParameter()
        {
            const 
int PROVIDER_RSA_FULL 1;
            const 
string CONTAINER_NAME "SpiderContainer";
            
CspParameters cspParams;
            
cspParams = new CspParameters(PROVIDER_RSA_FULL);
            
cspParams.KeyContainerName CONTAINER_NAME;
            
cspParams.Flags CspProviderFlags.UseMachineKeyStore;
            
cspParams.ProviderName "Microsoft Strong Cryptographic Provider";
            
rsa = new RSACryptoServiceProvider(cspParams);
        }

        public static 
string EncryptData(string data2Encrypt)
        {
            
AssignParameter();
            
StreamReader reader = new StreamReader("group.xml");
            
string publicOnlyKeyXML reader.ReadToEnd();
            
rsa.FromXmlString(publicOnlyKeyXML);
            
reader.Close();
            
byte[] plainbytes System.Text.Encoding.UTF8.GetBytes(data2Encrypt);
            
byte[] cipherbytes rsa.Encrypt(plainbytesfalse);
            return 
Convert.ToBase64String(cipherbytes);
        }

        public static 
void AssignNewKey()
        {
            
AssignParameter();
            
StreamWriter writer = new StreamWriter(@"personal.xml");
            
string publicPrivateKeyXML rsa.ToXmlString(true);
            
writer.Write(publicPrivateKeyXML);
            
writer.Close();
            
writer = new StreamWriter(@"group.xml");
            
string publicOnlyKeyXML rsa.ToXmlString(false);
            
writer.Write(publicOnlyKeyXML);
            
writer.Close();

        }

        public static 
string DecryptData(string data2Decrypt)
        {
            
AssignParameter();
            
byte[] getpassword Convert.FromBase64String(data2Decrypt);
            
StreamReader reader = new StreamReader(@"personal.xml");
            
string publicPrivateKeyXML reader.ReadToEnd();
            
rsa.FromXmlString(publicPrivateKeyXML);
            
reader.Close();
            
byte[] plain rsa.Decrypt(getpasswordfalse);
            return 
System.Text.Encoding.UTF8.GetString(plain);

        }
    }



это основная часть.
весь же проект щя залью.

================
Скачать файл WindowsFormsApplication1.rar
пасс antichat


Время: 15:17