2012-04-12 112 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