0
我有一個簡單的問題,由於缺乏知識我無法解決,而且我在網上找不到任何線索。從數字列表中生成一個值
我想:
- 生成從數(INT的陣列)的列表的 「值1」。
- 從隨機數生成「值2」。
- 然後通過比較「值2」和「值1」來檢查號碼列表中是否存在隨機數。
爲什麼我想生成這些值,而不是簡單地做一個數組列表中隨機數的數組搜索?
因爲有必要隱藏號碼列表,並且能夠通過比較值進行快速檢查。
我曾想過「散列」方法,但沒有辦法散列int數組。
我也想過RSA密碼系統,從數字列表生成一個「私鑰」,然後從隨機數生成「公鑰」。但我找不到實現它的方法。
我想知道是否有辦法做我想做的事情?
謝謝你的幫助。
實施例:
在PHP服務器具有號碼的列表。 (例如:[10,20,24,6,98])
JS中的客戶端向服務器發送一個號碼。 (實施例:8)
然後
// [10, 20, 24, 6, 98] to hashed or key
$computedIntArray = HashedOrRsaEncrypted($ServerIntArray);
// 8 to hashed or key
$computedClientNumber = HashedOrRsaEncrypted($ClientNumber);
// return true if the clienthashedvalue is present in the serverIntArray
$trueOrFalse = IsPresentInArray($computedClientNumber, $computedIntArray);
我想你是誤會我的問題。它不是關於生成隨機數,而是關於從一個數字列表中生成一個散列或一個私鑰或一個值,並對一個隨機數(例如5)進行相同操作。然後能夠比較散列或密鑰(私有/公共)或值,以便知道隨機數是否存在於數字列表中。 – NoSkiiilL
對,爲了測試一個數字是否已經在使用,你可以使用一個對象作爲散列表或一個集合。但問題在哪裏? –
我編輯了我的文章並添加了一個示例。我開始想,也許我想做的事情是不可能的。對不起,我找不到表達自己的另一種方式,英語不是我的母語。謝謝你的幫助。 – NoSkiiilL