Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 31.03.2015, 15:30
Аспирант
Отправить личное сообщение для Floyd Посмотреть профиль Найти все сообщения от Floyd
 
Регистрация: 20.05.2014
Сообщений: 40

обратимое шифрование перед записью в БД
Добрый день. Реализовать надо следующее: есть история болезни пациента, простой текст русские символы, utf-8, поле textarea. нужно перед отправкой аяксом в БД зашифровать этот текст с помощью ключа (врач его вводит). Защита просто от админов БД, чтобы не видели историю болезни в явном виде.
при выборке из БД в браузер врача передаются эти кракозябры, врач вводит свой ключ, кракозябры становятся нормальным текстом.

нашел примеры для английских символов, для русских - пока печаль.
подскажите пожалуйста где посмотреть?
Ответить с цитированием
  #2 (permalink)  
Старый 31.03.2015, 16:22
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,071

Шифрование текста
Floyd,
шифровка алексу
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)

Последний раз редактировалось рони, 31.03.2015 в 16:27.
Ответить с цитированием
  #3 (permalink)  
Старый 31.03.2015, 16:25
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,123

Зная врачей - пипец данным!
Ответить с цитированием
  #4 (permalink)  
Старый 31.03.2015, 16:52
Аватар для vasa_c
Профессор
Отправить личное сообщение для vasa_c Посмотреть профиль Найти все сообщения от vasa_c
 
Регистрация: 12.03.2008
Сообщений: 183

Зачем шифрование?
Врачи и так крякозябрами пишут.
Ответить с цитированием
  #5 (permalink)  
Старый 31.03.2015, 17:04
Профессор
Отправить личное сообщение для jsnb Посмотреть профиль Найти все сообщения от jsnb
 
Регистрация: 15.03.2014
Сообщений: 561

Ну вообще можно использовать вот это для шифрования. Там и AES и DES есть. Всяко надежнее, чем самописные велосипеды.

Последний раз редактировалось jsnb, 31.03.2015 в 17:07.
Ответить с цитированием
  #6 (permalink)  
Старый 01.04.2015, 12:05
Аспирант
Отправить личное сообщение для Floyd Посмотреть профиль Найти все сообщения от Floyd
 
Регистрация: 20.05.2014
Сообщений: 40

Сообщение от jsnb Посмотреть сообщение
Ну вообще можно использовать вот это для шифрования. Там и AES и DES есть. Всяко надежнее, чем самописные велосипеды.
да, я наталкивался на эту страницу. а какой из методов исползовать и не будет ли проблем с русязом?
Ответить с цитированием
  #7 (permalink)  
Старый 01.04.2015, 14:09
Аспирант
Отправить личное сообщение для Floyd Посмотреть профиль Найти все сообщения от Floyd
 
Регистрация: 20.05.2014
Сообщений: 40

Сообщение от рони
шифровка алексу
прикрутил этот метод, некорректно восстанавливает пробелы. вместо них -квадратик, код символа не тот наверное...
как пофиксить? спасибо!

Последний раз редактировалось Floyd, 01.04.2015 в 14:20.
Ответить с цитированием
  #8 (permalink)  
Старый 01.04.2015, 15:12
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,071

Floyd,
какая кодировка на странице?
Ответить с цитированием
  #9 (permalink)  
Старый 01.04.2015, 15:20
Аспирант
Отправить личное сообщение для Floyd Посмотреть профиль Найти все сообщения от Floyd
 
Регистрация: 20.05.2014
Сообщений: 40

utf-8
Ответить с цитированием
  #10 (permalink)  
Старый 01.04.2015, 15:30
Аспирант
Отправить личное сообщение для Floyd Посмотреть профиль Найти все сообщения от Floyd
 
Регистрация: 20.05.2014
Сообщений: 40

ха, странно, облачил функцию code в две отдельные энкоде и декоде, и пробелы стало восстанавливать абсолютно нормально. как это??
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обработка формы перед отправкой KlausKater Общие вопросы Javascript 16 24.04.2014 18:11
Проверка данных перед отправкой на сервер dmitry111 Общие вопросы Javascript 12 03.04.2014 17:23
Шифрование MARS dmitriy37 Работа 3 29.03.2014 00:12
Подгрузка скрипта перед редиректом ссылки Cepin Javascript под браузер 4 10.12.2010 21:06
Удалить ряд символов перед или после курсора до определенного сивола brd Javascript под браузер 3 30.10.2009 08:20