2012-04-12 64 views
0

我有一个使用数据窗口选择/更新的表格用户维护窗口。Powerbuilder数据窗口密码加密

我需要加密保存在MSSQL数据库上的密码。

我有一个函数f_decrypt Powerbuilder和dbo。

如何使用dw.Update()加密密码?

回答

0

一本小书可能可能写在可能性上。我的第一个问题是要求店铺加密密码,或者密码是否已经去过加密。如果存储是唯一的要求,我倾向于让数据库管理系统做一些高级程序员花费几个月的时间试图正确的,而不是试图自己重新发明轮子。即使它必须经过加密的线路,我会首先查看DBMS提供的选项。

如果你必须做到这一点客户端和处理散列,腌制,防止你的代码逆向工程,,你自己,仍然可能有十几种方法来做到这一点。我尝试的第一种方法是创建一个DataWindow,其中包含用于密码用户界面的虚拟列以及表中的列,例如

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

我把password_ui数据窗口的用户界面上,并留下password_storage关闭用户界面,但要确保password_storage包含在更新属性为可更新的列。然后,在ItemChanged,如果改变了列password_ui,我

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

祝你好运,

特里。

+0

我只需要“简单地加密”密码,因为它是一个要求。尽可能简单。 itemchange之后,我已经试过了SetItem。但我不知道它是否能正常使用PB8。我试图在选择包括功能,仍然不加密它。 – Sid 2012-04-12 02:51:47

+0

尽可能简单?这听起来像我的第一段建议,然后:去DBMS加密。 (http://msdn.microsoft.com/en-us/library/ms179331.aspx) – Terry 2012-04-12 17:30:15

+0

thx。这是否与MSSQL 2000一起工作? – Sid 2012-04-13 05:48:43