मैं विशाल समस्याओं एक mysql डेटाबेस में एन्क्रिप्टेड जानकारी, इंजन mySam भंडारण आ रहीडाटाबेस क्षेत्र में encrpted जानकारी स्टोर करने के लिए
मैं इस तरह की जानकारी को एनक्रिप्ट संघर्ष:
function in($plaintext) {
$cipher = 'rijndael-256';
$mode = 'cbc';
$key = 'key';
$td = mcrypt_module_open($cipher, '', $mode, '');
$iv = mcrypt_create_iv(mcrypt_enc_get_iv_size($td), MCRYPT_RAND);
mcrypt_generic_init($td, $key, $iv);
$crypttext = mcrypt_generic($td, $plaintext);
mcrypt_generic_deinit($td);
return $iv.$crypttext;
}
डेटा तो संग्रहीत किया जाता है एक ब्लॉब में जब मैं जानकारी को डराने के लिए आता हूं तो ऐसा लगता है कि डेटाबेस में स्टोरेज के कारण लगभग 10% भ्रष्ट हो गया है।
मैं इसे सत्यापित कर सकता हूं कि डेटाबेस समस्या है क्योंकि मैंने बड़े पैमाने पर एन्क्रिप्ट करने के लिए स्क्रिप्ट चलाई हैं और बिना किसी समस्या के डेटा को डिक्रिप्ट किया है।
कोई भी विचार? अग्रिम धन्यवाद ...
[संपादित करें डिक्रिप्शन दिनचर्या]
function decrypt($crypttext)
{
$cipher = 'rijndael-256';
$mode = 'cbc';
$key = '$key';
$plaintext = '';
$td = mcrypt_module_open($cipher, '', $mode, '');
$ivsize = mcrypt_enc_get_iv_size($td);
$iv = substr($crypttext, 0, $ivsize);
$crypttext = substr($crypttext, $ivsize);
if ($iv)
{
mcrypt_generic_init($td, $key, $iv);
$plaintext = mdecrypt_generic($td, $crypttext);
}
return $plaintext;
}
मुझे यह भी संदेह है कि यह एक बग है। दूषित होने का मतलब है कि जब मैं डिक्रिप्टेड फ़ील्ड को देखता हूं तो वे अर्थहीन पात्रों की एक स्ट्रिंग हैं। क्या आप ब्लॉक-आकार पैडिंग याचिका पर विस्तारित करेंगे? – rix
हमें आपके डिक्रिप्ट दिनचर्या को देखने की आवश्यकता होगी, साथ ही डेटाबेस में डेटा को संग्रहीत करने के बारे में कुछ और जानकारी - एक पूर्ण प्रजनन स्क्रिप्ट अच्छी होगी। – snemarch