Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!
Werbeanzeige
C-/C++-Quelltext |
|
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 |
#ifndef HPP_KRYPTO #define HPP_KRYPTO namespace KRYPTO { class RSA { private: unsigned long inline getcharValue(char zeichen) ; public: char encode(unsigned long p, unsigned long q, unsigned long e, char zeichen) ; std::string encode(unsigned long p, unsigned long q, unsigned long e, char zeichen[]); }; } unsigned long inline KRYPTO::RSA::getcharValue(char zeichen) { return static_cast<unsigned long>(zeichen); } char KRYPTO::RSA::encode(unsigned long p, unsigned long q, unsigned long e, char zeichen) { unsigned long n = p*q; unsigned long m = getcharValue(zeichen); unsigned long c = (m^e) % n ; char r = static_cast<char>(c); return r; } std::string KRYPTO::RSA::encode(unsigned long p, unsigned long q, unsigned long e, char zeichen[]) { for(unsigned int i = 0; i<strlen(zeichen); i++) { zeichen[i] = encode(p,q,e,zeichen[i]); } std::string text = zeichen; return text; } #endif |
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 |
int main() { KRYPTO::RSA rsa; char arra[] = "HALLOICHMAGMICH"; std::cout<<arra<<std::endl; std::cout<<rsa.encode(3,7,3,arra).c_str()<<std::endl; std::cin.sync(); std::cin.get(); return 0; } |
Administrator
Sheddex
unregistriert
C-/C++-Quelltext |
|
1 2 |
unsigned long c = (int)pow((long double)m,(int)e); c = c % n; |
Administrator
Zitat
Vielleicht ist das vierte Zeichen 0. Das würde die String-Ausgabe als "Ende des Strings" ansehen.
C-/C++-Quelltext |
|
1 |
char KRYPTO::RSA::encode(unsigned long p, unsigned long q, unsigned long e, char zeichen) |
Zitat
Die Größe des neuen Blockes hängt von der Schlüssellänge ab
Werbeanzeige