如何使用 Ruby 生成隨機密碼?


當我們想要保護我們的線上賬戶或保護敏感資料時,我們會使用強密碼。建立安全的隨機密碼有點複雜,但在 Ruby 中,我們可以輕鬆快速地生成隨機密碼。在本文中,我們將討論如何使用 Ruby 生成隨機密碼,不同的方法、示例程式碼和輸出。

使用 Ruby 生成隨機密碼

由於程式碼生成隨機密碼,因此每次執行時輸出都會有所不同,並且不會與之前顯示的示例匹配。

使用 Ruby 的 rand 方法

Ruby 中的 rand 方法是生成隨機數的基本方法。我們可以用它來為我們的密碼選擇隨機字元。我們建立一個包含我們想要在密碼中使用的所有字元的字串 chars。然後,我們使用迴圈從 chars 中選擇隨機字元並構建我們的密碼。rand(chars.size) 生成一個隨機索引來選擇字元。這種方法很簡單,但安全性不是很高,因為隨機性不是非常強。

示例程式碼

以下是上述方法的示例程式碼。

def simple_random_password(length)
chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'
password = ''
length.times {
  password << chars[rand(chars.size)]
}
password
end

puts simple_random_password(10)

輸出

SEbaHpzVpj

使用 SecureRandom 模組

Ruby 提供了 SecureRandom 模組來實現更安全的密碼。此模組以更安全的方式生成隨機數和字串,使任何人都難以猜測密碼。我們使用 SecureRandom.alphanumeric(length) 生成隨機字母數字字元的字串。此方法速度很快,併為我們提供了更安全的密碼。

示例程式碼

以下是上述方法的示例程式碼。

require 'securerandom'

def secure_random_password(length = 10)
SecureRandom.alphanumeric(length)
end

puts secure_random_password(12)

輸出

sichrbnWyngc

自定義密碼生成器

如果我們想要建立一個包含字母、數字和符號混合的密碼,我們可以建立一個自定義密碼生成器。我們將擴充套件 chars 字串以包含 !@#$%^&*() 等符號。該方法建立一個隨機字元陣列,然後將其連線成一個字串。

示例程式碼

以下是上述方法的示例程式碼。

def custom_random_password(length = 12)
chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*()'
password = Array.new(length) {
  chars[rand(chars.size)]
}.join
end

puts custom_random_password(15)

輸出

!)M&8SGha#4YNwf

AYUSH MISHRA
AYUSH MISHRA

工程師

更新於: 2024-11-21

21 次檢視

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告