Voor een website met financiële gegevens moet ik de database coderen. De website draaid op php, de database mysql (onbelangrijk). Ik heb de volgende functies gemaakt om een string te encrypten, maar het werkt niet goed, ik krijg namelijk steeds iets anderes terug als ik een geencryote string decrypt.
Hoe kan ik het het beste aanpakken? Thanks!
Hoe kan ik het het beste aanpakken? Thanks!
PHP:
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
40
41
42
43
44
45
46
47
| <?php function encrypt($data) { // Open the cipher */ $td = mcrypt_module_open('rijndael-256', '', 'ofb', ''); // Create the IV and determine the keysize length, used MCRYPT_RAND $iv = mcrypt_create_iv(mcrypt_enc_get_iv_size($td), MCRYPT_DEV_RANDOM); $ks = mcrypt_enc_get_key_size($td); //the key $key = substr(md5('mkcgxpqfy8'), 0, $ks); /* Intialize encryption */ mcrypt_generic_init($td, $key, $iv); /* Encrypt data */ $encrypted = mcrypt_generic($td, $data); /* Terminate encryption handler */ mcrypt_generic_deinit($td); mcrypt_module_close($td); return $encrypted; } function decrypt($data) { // Open the cipher */ $td = mcrypt_module_open('rijndael-256', '', 'ofb', ''); // Create the IV and determine the keysize length, used MCRYPT_RAND $iv = mcrypt_create_iv(mcrypt_enc_get_iv_size($td), MCRYPT_DEV_RANDOM); $ks = mcrypt_enc_get_key_size($td); //the key $key = substr(md5('mkcgxpqfy8'), 0, $ks); /* Initialize encryption module for decryption */ mcrypt_generic_init($td, $key, $iv); /* Decrypt encrypted string */ $decrypted = mdecrypt_generic($td, $data); /* Terminate decryption handle and close module */ mcrypt_generic_deinit($td); mcrypt_module_close($td); return $decrypted; } ?> |