有誰知道如何在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. 如何在python中生成一組類似的字符串
- 4. RNGCryptoServiceProvider - 快速生成範圍內的數字並保留分佈?
- 5. 如何在TSQL中生成隨機格式化的字符串
- 6. 在TSQL中創建類似Pivot的Excel
- 7. 如何使用RNGCryptoServiceProvider生成非負數的隨機數(整數)C#
- 8. 在Java中類似的Python生成器
- 9. PHP生成類似的字符串
- 10. 似乎無法僞造RNGCryptoServiceProvider
- 11. 生成TSQL色數排列
- 12. 類似TSQL的問題
- 13. 如何在WPF中生成類似Excel的報表?
- 14. 生成「類似的」證書
- 15. 如何使用@Unique()在SSJS中生成類似Notes的唯一字符串?
- 16. CMake的生成類似的config.h Autoconf中
- 17. 如何生成Android中生成的RSA密鑰類似於OpenSSL的PEM_write_PUBKEY鍵
- 18. 生成通過TSQL
- 19. 如何在tsql中生成連續的行號?
- 20. 如何生成與JavaScript中的Gmail類似的摺疊效果
- 21. Java中的RNGCryptoServiceProvider
- 22. 使用RNGCryptoServiceProvider通過密碼保護僞隨機數生成鹽
- 23. 如何在類中的函數中生成非重複的隨機數字?
- 24. 隨機數字發生器安全:BCryptGenRandom與RNGCryptoServiceProvider
- 25. 如何總結類似組的數字?
- 26. .Net Core中的RNGCryptoServiceProvider
- 27. .Net RNGCryptoServiceProvider類與Win32 CryptGenRandom()函數
- 28. 的jQuery或類似的代碼生成
- 29. Laravel生成我要生成與Laravel參數類似這樣的URL參數
- 30. 使用Sybase TSQL生成XML
這符合我們的需要,因爲密碼隨機性不是目標;真正的目標是獲得大量的隨機數。謝謝。 – 2009-10-05 21:40:43