有誰知道如何在T-SQL中生成類似RNGCryptoServiceProvider的隨機數,而無需註冊任何.NET程序集?如何在TSQL中生成類似RNGCryptoServiceProvider的數字
1
A
回答
2
SELECT CHECKSUM(NEWID())
爲您提供了一個基於GUID的32位有符號整數。您可以使用此作爲基礎:這幾乎是最好的SQL方式
你可以用它來種子RAND(因爲RAND是在一個單一的所有行一樣選擇
SELECT RAND(CHECKSUM(NEWID()))
有符號的64位。整數
SELECT CAST(CHECKSUM(NEWID()) as bigint) * CAST(CHECKSUM(NEWID()) as bigint)
與你周圍的一些遊戲可以施放和/或連接來獲得二進制(「4的倍數」)等,以建立一個字節數組...我已經不使用RAND啄儘管直接效仿
1
如果您必須生成cryptographycally secure random numbers(如用於散列的鹽),那麼您應該使用CLR函數。對於加密操作,Checksum,guids等是不安全的。
最簡單的解決方案是使用調用RNGCryptoServiceProvider的CLR scalar function。
請注意,許多SQL Server crpto函數(如EncryptByKey)已經使用加密安全生成的鹽(除了RC4算法上的EncryptByKey,SQL中已損壞)對輸入進行醃製。
相關問題
- 1. 如何在url/query字符串中使用RNGCryptoServiceProvider生成的字符串
- 2. 如何在TSQL中使用枚舉類似的字符串?
- 3. RNGCryptoServiceProvider - 快速生成範圍內的數字並保留分佈?
- 4. 在TSQL中創建類似Pivot的Excel
- 5. 如何使用RNGCryptoServiceProvider生成非負數的隨機數(整數)C#
- 6. 類似TSQL的問題
- 7. 如何在WPF中生成類似Excel的報表?
- 8. 生成「類似的」證書
- 9. 生成通過TSQL
- 10. 如何在tsql中生成連續的行號?
- 11. Java中的RNGCryptoServiceProvider
- 12. 如何生成與JavaScript中的Gmail類似的摺疊效果
- 13. 使用RNGCryptoServiceProvider通過密碼保護僞隨機數生成鹽
- 14. 如何在類中的函數中生成非重複的隨機數字?
- 15. .Net Core中的RNGCryptoServiceProvider
- 16. .Net RNGCryptoServiceProvider類與Win32 CryptGenRandom()函數
- 17. 如何總結類似組的數字?
- 18. 的jQuery或類似的代碼生成
- 19. Laravel生成我要生成與Laravel參數類似這樣的URL參數
- 20. 使用Sybase TSQL生成XML
- 21. TSQL生成5個字符長度的字符串,數據庫中尚不存在的所有數字[0-9]
- 22. 如何獲得一個類似於tsql查詢的lambda查詢?
- 23. 如何在MySQL中生成唯一的字母數字內容?
- 24. linux tmpfs中如何生成inode數字?
- 25. 在Ruby中生成類似Facebook的url的摘要
- 26. 如何以編程方式生成類似Heroku的子域名?
- 27. 如何生成類似github的衝擊圖?
- 28. 如何使用appledoc生成類似蘋果的文檔
- 29. 如何生成類似於git hash-object命令的sha1
- 30. 如何在django中生成可共享的鏈接? (類似於pastebin鏈接)
這符合我們的需要,因爲密碼隨機性不是目標;真正的目標是獲得大量的隨機數。謝謝。 – 2009-10-05 21:40:43