обратимое шифрование перед записью в БД
Добрый день. Реализовать надо следующее: есть история болезни пациента, простой текст русские символы, utf-8, поле textarea. нужно перед отправкой аяксом в БД зашифровать этот текст с помощью ключа (врач его вводит). Защита просто от админов БД, чтобы не видели историю болезни в явном виде.
при выборке из БД в браузер врача передаются эти кракозябры, врач вводит свой ключ, кракозябры становятся нормальным текстом. нашел примеры для английских символов, для русских - пока печаль.:cray: подскажите пожалуйста где посмотреть? |
Шифрование текста
Floyd,
шифровка алексу :write: :)
function fixedCharCodeAt(a, d) {
var b = a.charCodeAt(d);
if (55296 <= b && 56319 >= b) {
var c = b, b = a.charCodeAt(d + 1);
return 1024 * (c - 55296) + (b - 56320) + 65536
}
return 56320 <= b && 57343 >= b ? (c = a.charCodeAt(d - 1), 1024 * (c - 55296) + (b - 56320) + 65536) : b
}
function fixedFromCharCode(a) {
return 65535 < a ? (a -= 65536, String.fromCharCode(55296 + (a >> 10), 56320 + (a & 1023))) : String.fromCharCode(a)
}
function code(a, d, b) {
for (var c = "", e = 0; e < a.length; e++) var f = fixedCharCodeAt(a, e) + fixedCharCodeAt(d, e % d.length) * (b ? -1 : 1),
c = c + fixedFromCharCode(f);
return c
};
var str = code('нашел примеры для английских символов, для русских - пока печаль.','12345test') // code(str, key, decode)
alert(str);
str = code(str,'12345test', true) ;
alert(str)
|
Зная врачей - пипец данным! :D
|
Зачем шифрование?
Врачи и так крякозябрами пишут. |
Ну вообще можно использовать вот это для шифрования. Там и AES и DES есть. Всяко надежнее, чем самописные велосипеды.
|
Цитата:
|
Цитата:
как пофиксить? спасибо! |
Floyd,
какая кодировка на странице? |
utf-8
|
ха, странно, облачил функцию code в две отдельные энкоде и декоде, и пробелы стало восстанавливать абсолютно нормально. как это??:blink:
|
| Часовой пояс GMT +3, время: 06:36. |