2012-04-12 3 views
0

У меня есть табличное окно Userteten, которое использует DataWindow Select/Update.Powerbuilder Datawindow Password Encrypt

Мне нужно зашифровать пароль, сохраненный в базе данных MSSQL.

У меня есть функция f_decrypt для Powerbuilder и для dbo.

Как использовать dw.Update() для шифрования пароля?

ответ

0

Возможно, небольшая книга может быть написана о возможностях. Мой первый вопрос - это требование к магазину зашифрованным паролям, или пароль должен быть пройти по проводу зашифрован. Если хранилище является единственным требованием, я бы хотел, чтобы СУБД делала то, что команда программистов высокого уровня проводила месяцы, пытаясь получить право, вместо того, чтобы пытаться изобрести колесо самостоятельно. Даже если он должен пройти через зашифрованный провод, я сначала посмотрю на опции, предоставленные СУБД.

Если вам нужно сделать это на стороне клиента и разобраться с хешированием, засолением, предотвращением обратного проектирования вашего кода, и др., вы, вероятно, еще десяток способов сделать это. Первый способ, который я попытаюсь сделать, - создать DataWindow с фиктивным столбцом для пользовательского интерфейса пароля, а также столбец в таблице, например.

SELECT '  ' as password_ui, 
     table.password_storage, 
     ... 
FROM table 
.... 

Я бы поставил password_ui на пользовательском интерфейсе DataWindow, и оставить password_storage от пользовательского интерфейса, но убедитесь, что password_storage включен в свойствах обновления в обновляемом столбце. Затем, на ItemChanged, если столбец изменился является password_ui, я бы

CHOOSE CASE dwo.Name 
    CASE "password_ui" 
     SetItem (row, "password_storage", f_encrypt (data)) 
END CHOOSE 

Успехов,

Терри.

+0

Мне просто нужно «просто зашифровать» пароль, поскольку это требование. как можно проще. Я уже пробовал этот SetItem после замены элемента. но я не знаю, работает ли он правильно, используя PB8. Я попытался включить функцию в select и до сих пор не шифрует ее. – Sid

+0

Простой, как можно? Похоже, что мой первый параграф рекомендаций применяется, а затем: используйте шифрование СУБД. (http://msdn.microsoft.com/en-us/library/ms179331.aspx) – Terry

+0

thx. работает ли это с MSSQL 2000? – Sid

Смежные вопросы