2010-05-12 32 views
0

編輯:我需要生成一個7字符串,這是基於行的id的字符串。所以知道圖像的id和密鑰,我應該得到生成的字符串。編輯:我需要生成一個7字符串是基於行的編號

的字符串必須包含從 「A」 到 「Z」 字符和數字從0到9

我有一個包含這樣

DIR/P3/I2/S21 /拇指照片目錄.jpg

生成的字符串是p3i2s21,然後用於計算圖像的路徑。

編輯: 目前即時通訊使用圖像的ID: ID = 55 然後我修改,我也得到 路徑= 000000055 然後路徑= 「000/000/055」 然後路徑=「000/000 /055/thumb.jpg「

準備使用!

現在我想要的東西更聰明,因爲很容易從一個服務器跟蹤的所有圖像,因爲ID是序貫:1,2,3,4,5,6 ...

,所以我必須思考從55開始創建7個字符長度的字符串,並且不會與其他數字重疊。我甚至可以將55轉換爲0000055,並將其轉換爲使用祕密字符串的7個字符長度的字符串。然後當我得到的祕密字符串和ID我想回來那7個字符長度的字符串。

這可能嗎?我正在考慮hases,但他們只使用0-9和a-e並且更多字符。:s

+0

等什麼?我很抱歉,但我需要更清晰,你在這裏問什麼? – zellio 2010-05-12 19:32:41

+0

好吧,我將在主要問題 – 2010-05-12 19:40:12

+0

中解釋看看這個問題,它可能會給你一些想法。 http://stackoverflow.com/questions/890907/ideas-to-create-a-small-10-digits-not-very-secure-hash – Jaime 2010-05-12 20:08:22

回答

1

我認爲您需要使用數據庫來執行此操作。您可以隨機生成7個字符串,並將它們與其映射到的路徑一起存儲在表中。

除此之外,確實沒有簡單的方法可以可靠地採取任意路徑,將它壓縮到7個字符,然後再從這7個字符中取回路徑。

+0

我在主要問題 – 2010-05-12 19:45:07

0

我會添加一個新的列到您的表來存儲一個GUID值。這樣,你有一個非順序的標識符。

如果你不能使用一個GUID並且真的需要它7個字符長......好吧,我要做的就是生成GUID,取第一個/最後一個7個字符,確保它是唯一的,並保存它。如果它不是唯一的,我會生成另一個GUID直到它。

這和Eric的回答很相似,我只是想特別提到GUID。

+0

更好解釋是的,當然會添加另一列在表中,當然我使用數據庫,唯一的問題是獲取7char字符串...我將檢查出來的GUID – 2010-05-12 19:57:52

+0

@Totty - 如果你告訴我們你正在使用什麼數據庫系統,我當然我們可以爲您提供一個函數來生成一個唯一的/隨機的7個字符的字符串。 – overslacked 2010-05-12 20:21:05

+0

使用mysql數據庫。謝謝 (: – 2010-05-13 09:30:27

相關問題