2010-06-17 65 views
4

我想使用crypt函數對UNIX帳戶的密碼進行編碼。我正在使用Pharo 1.0。我試圖從squeakmap安裝crypto軟件包,但它給了我一個錯誤,並且軟件包似乎被部分安裝(沒有class的類別)。Smalltalk/pharo中的Unix crypt()函數

我怎樣才能讓我的密碼被加密?如果需要的話,我願意調用外部代碼(並且在SqueakMap中有一個包裝可以在Pharo中製作訣竅)。

謝謝。

回答

3

看看您的圖像中是否有類別系統數字簽名,並帶有SecureHashAlgorithm類。然後,您可以按如下方式拼湊您的密碼:

(SecureHashAlgorithm new hashMessage: 'my password') asString 
+0

謝謝! 事實上,我確實有過這樣的課。它給了我: (SecureHashAlgorithm new hashMessage:'my password')asString。 '930408691521612642154581053007002882786966762294' 但是,我需要UNIX賬戶哈希密碼,所以他們必須在傳統的crypt格式之一: {隱窩} 0R9nvENe5JUlE {隱窩} $ 1 $ 8xbtm8Xw $ G4HYuFl2fPRUgUBge26CN/ 是否有方法呢? 再次感謝。 – jdinunzio 2010-06-18 12:17:26

+0

上面的類使用SHA哈希算法。最近哪種算法使用crypt? 另一種可能性是使用OSProcess類以適當的參數調用某個外部程序。 – 2010-06-18 18:16:31

3

在Pharo中檢查類別:System-Hashing。

你有MD5和SHA。

類:SHA1,MD5NonPrimitive,MD5。

這些類是從squeaksource的加密包中提取的,並使它們在Pharo中工作。然後將MD5和SHA集成到核心中。

乾杯