Hi,
Dann mal los:
1) Hashwerte berechnen für einen Couponcode: (Wert wird dann mit einer Liste von gespeicherten verglichen und wenn dort gefunden, dann ist der Coupon gültig; Problem ist, daß die Coupons schon im Umlauf sind, also nicht einfach neu erstellt werden können)
Der bisherige Code mit DEC3 war:
strCoupon := Hash.THash_CRC32.CalcString(strText, TMAC.Create(strPassword, nil), fmtHEX);
wobei strText und strPassword
Ansi-Strings sind. Da ich das Programm selbst zwingen kann, hier weiter mit
ANSI Strings für strText und strPassword zu arbeiten, bräuchte ich nun eine Variante von DEC5, die mir für gegebene Wert den gleichen Wert liefert wie die bestehende DEC3 Variante.
2) Weiter hab ich das Problem, daß es Daten gibt, die bisher mit BlowFish/Mime64 verschluesselt wurde. Diese Daten muß ich nun wieder mit
DEC 5 entschlüsseln können (Erst mal mit Delphi 2007, dann aber auch mit Delphi 2009). Dazu hab ich nun den folgenden
DEC 5 code verwendet:
Delphi-Quellcode:
with DECCipher.TCipher_Blowfish.Create do
try
Init(strPassword);
strResultV5 := EncodeBinary(strText, DEC5_DECFmt.TFormat_MIME64);
finally
Free;
end;
leider liefert dieser nun für einen mit
DEC 3 und
Delphi-Quellcode:
with Cipher.TCipher_Blowfish.Create(strPassword, nil) do
try
strResultV3 := DecodeString(CodeString(strText, paDecode, fmtMIME64));
finally
Free;
end;
verschlüsselten Text nicht wieder den Originaltext. Auch hier das Problem: die verschlüsselten Daten sind im Umlauf und können nicht so einfach durch neue ersetzt werden.
Danke,
Uli