NULL enthaltende Char* kopieren
-
Aua, das ist ja C mit new. Und warum nutzt du C-String Funktionen, wenn du gar nicht mit Strings arbeitest sondern mit Binärdaten?
Bist du zudem sicher, dass das so soll? Denn bei deinem Code ist z.B. der Speicher auf den abc zeigt verloren, der wird doch nie freigegeben..
Guck dir mal std::vector und Iteratoren an.
-
Hacker schrieb:
Was spricht gegen ein paar geile STL-Container?
"geil"
-
Gegensprechanlage schrieb:
Hacker schrieb:
Was spricht gegen ein paar geile STL-Container?
"geil"
Mööp Mööp, STL rockt

Oder das ist Geschmackssache - ich find auch nicht alles gut.
-
Hmm über einen Vector hatte ich nachgedacht, aber ich weiß nicht wie man den Inhalt in eine Datei schreiben könnte...
Das ganze soll die Endstufe einer Verschlüsselung werden.
Die einzelnen Blöcke (immer multiple von 64-Bit) sollen aneinander gehängt und weggeschrieben werden.
-
Xenogenesis schrieb:
Hmm über einen Vector hatte ich nachgedacht, aber ich weiß nicht wie man den Inhalt in eine Datei schreiben könnte...
Mit &v[0] oder v.data()? Welchen Algorithmus implementierste denn? AES?
-
*KMT
AUTSCH ok da hätte ich wirklich dran denken sollen^^
Danke für das Öffnen meines geistigen Auges
Ne nicht AES, ist eine Eigenentwicklung die ich seit fast einem Jahr plane und nun endlich Implementiere
Vielen Dank euch allen

-
Xenogenesis schrieb:
Ne nicht AES, ist eine Eigenentwicklung die ich seit fast einem Jahr plane und nun endlich Implementiere
Interessant. Ich hoffe du weist entweder was du da tust (irgendwie bezweifel ich das :)), oder du willst den nicht in irgendetwas Sicherheitsrelevantem einsetzen?
-
cooky451 schrieb:
Xenogenesis schrieb:
Hmm über einen Vector hatte ich nachgedacht, aber ich weiß nicht wie man den Inhalt in eine Datei schreiben könnte...
Mit &v[0] oder v.data()?
Bitte was? C++11? Oder seit wann hat std::vector eine solche Member-Funktion?
-
Hacker schrieb:
C++11?
Wie man auch in jeder Referenz nachgucken könnte..
-
Hacker schrieb:
cooky451 schrieb:
Xenogenesis schrieb:
Hmm über einen Vector hatte ich nachgedacht, aber ich weiß nicht wie man den Inhalt in eine Datei schreiben könnte...
Mit &v[0] oder v.data()?
Bitte was? C++11? Oder seit wann hat std::vector eine solche Member-Funktion?
c++11
-
@Xenogenesis
std::vector<char> wie schon vorgeschlagen wurde ist sicher die bessere Wahl.Ansonsten... was spricht gegen memcpy() und selber mitzählen?
-
unskilled schrieb:
Hacker schrieb:
cooky451 schrieb:
Xenogenesis schrieb:
Hmm über einen Vector hatte ich nachgedacht, aber ich weiß nicht wie man den Inhalt in eine Datei schreiben könnte...
Mit &v[0] oder v.data()?
Bitte was? C++11? Oder seit wann hat std::vector eine solche Member-Funktion?
c++11
cooky451 schrieb:
Hacker schrieb:
C++11?
Wie man auch in jeder Referenz nachgucken könnte..
Bei meiner Lieblingsreferenz gab es keine solche Member-Methode. Ich werde jetzt für die nächste Zeit wohl zu cppreference wechseln müssen... ist aktueller.
-
Ja mit dem Vector funktioniert es dann auch

Also sagen wir so, das ganze kommt in mehreren Applikationen und auch Projekten anderer zum Einsatz.
-
Was spricht gegen etwas wie AES, das auch sicher funktioniert?
Wie ist dein Background in Zahlentheorie etc? Kannst du formell die Sicherheit deines Algorithmus beweisen?
-
Xenogenesis schrieb:
char* buffer = new char[n]; char* abc = new char[y]; for(int i = 0; i < x; i++){ abc = FUNKTION(); strcat(buffer, abc); }Das ist echt wenig an Code. Wie sieht FUNCTION aus? Warum reservierst du per new[] Speicher und überschreibst den Zeiger später mit "abc="? Warum überhaupt new[]?
Tipp: Wenn du glaubst, new[] und delete[] benutzen zu müssen, liegst du sehr wahrscheinlich falsch.
#include <iterator> #include <vector> #include <iostream> template<class OutputIterator> void func(OutputIterator oi) { *oi++ = 'W'; *oi++ = 'T'; *oi++ = 'F'; *oi++ = '?'; *oi++ = '!'; } int main() { using namespace std; vector<char> buffer; for(int i = 0; i < 5; i++) { func(back_inserter(buffer)); } buffer.push_back('\0'); cout << &buffer[0] << endl; }
-
Ethon schrieb:
Was spricht gegen etwas wie AES, das auch sicher funktioniert?
Wie ist dein Background in Zahlentheorie etc? Kannst du formell die Sicherheit deines Algorithmus beweisen?AES ist aber keine Vollbitverschlüsselung!

-
Xenogenesis schrieb:
char* buffer = new char[n];hustbaer schrieb:
std::vector<char> wie schon vorgeschlagen wurde ist sicher die bessere Wahl.
Ich will nicht kleinlich sein. Aber sollten binäre Daten nicht in
unsigned chars dargestellt werden?
-
pumuckl schrieb:
Ich will nicht kleinlich sein. Aber sollten binäre Daten nicht in
unsigned chars dargestellt werden?Sollten - ist aber ziemlich unüblich. Siehe z.B. ifstream::read, memcpy, etc.
-
pumuckl schrieb:
Ich will nicht kleinlich sein. Aber sollten binäre Daten nicht in
unsigned chars dargestellt werden?Warum?
-
_cu schrieb:
AES ist aber keine Vollbitverschlüsselung!

Du meinst sowas hier: http://www.kryptochef.de/ ? lol
Ja, irgendwie ist die URL zensiert.