Ruby – Melhor Forma de Gerar uma String Aleatória

Sempre quando se pensa na melhor forma de fazer algo, há diversas opiniões sobre o assunto.  Melhor em quais termos? Segurança, velocidade, flexibilidade, simplicidade de código, etc. Esperamos que vocês contribuam com sugestões na área de comentários abaixo. Para criar uma String aleatória no Ruby, vamos mostrar, neste artigo, o módulo SecureRandom. Para que ele funcione corretamente, o gerador de números aleatórios deve estar disponível, senão acontecerá o erro: NotImplementedError.

Ruby – Criando uma String aleatória base64(a)

require 'securerandom'
SecureRandom.base64
"/2BuBuLf3+WfSKyQbRcc/A=="

Ele gera uma String base64. O argumento “a” determina o comprimento do objeto aleatório a ser criado. O comprimento da String criada será cerca de 4/3 do valor de “a” declarado. Se o “a” não for preenchido, o número 16 é utilizado. A String resultante pode conter os caracteres A-Z, a-z, 0-9, “+”, “/” e “=”.

Ruby – Criando uma String aleatória hex(a)

SecureRandom.hex
"eb693ec8252cd630102fd0d0fb7c3485"
SecureRandom.hex (7)
"91dc3bfb4de5b1"

Ele gera uma String base hexadecimal. O argumento “a” determina o comprimento do objeto aleatório a ser criado. O comprimento da String criada será o dobro do valor de “a” declarado. Se o “a” não for preenchido, o número 16 é utilizado. A String resultante pode conter os caracteres de 0-9 e a-f.

Ruby – Criando uma String aleatória binária usando bytes(a)

SecureRandom.random_bytes
"xD8xE0xF4rxB2xFC*WMxFFx83x18xF45xB6"

Ele gera uma String aleatória binária. O argumento “a” determina o comprimento da String aleatória a ser criada. Se o “a” não for preenchido, o número 16 é utilizado. O resultado pode conter qualquer byte entre “x00” – “xff”.

Caso você deseje explorar outras questões, pode conferir nossos vídeos sobre Ruby. Abaixo estão alguns exemplos:

Você também pode se inscrever em alguns canais que fazem broadcast em Ruby, como os a seguir:

 

 julemagne

 dogweather

Outra maneira legal de descobrir mais coisas interessantes sobre Ruby é acessar nossa página de projetos

Dr. Michael J. Garbade

I, Dr. Michael J. Garbade is the co-founder of the Education Ecosystem (aka LiveEdu), ex-Amazon, GE, Rebate Networks, Y-combinator. Python, Django, and DevOps Engineer. Serial Entrepreneur. Experienced in raising venture funding. I speak English and German as mother tongues. I have a Masters in Business Administration and Physics, and a Ph.D. in Venture Capital Financing. Currently, I am the Project Lead on the community project -Nationalcoronalvirus Hotline I write subject matter expert technical and business articles in leading blogs like Opensource.com, Dzone.com, Cybrary, Businessinsider, Entrepreneur.com, TechinAsia, Coindesk, and Cointelegraph. I am a frequent speaker and panelist at tech and blockchain conferences around the globe. I serve as a start-up mentor at Axel Springer Accelerator, NY Edtech Accelerator, Seedstars, and Learnlaunch Accelerator. I love hackathons and often serve as a technical judge on hackathon panels.

Recent Posts

Blockchain in Elections: A Leap Toward Transparent Democracy

In 2024 we're witnessing a critical point in democratic technology: the integration of blockchain and…

3 weeks ago

Win Big with Our Amazon Fire Max 11 & AirPods Pro Giveaway!

We’re thrilled to announce an exciting opportunity for you to win not one but two…

2 months ago

Unleashing Potential: How Education Ecosystem Transforms Learning into Real-World Success

Acquiring practical skills is crucial for career advancement and personal growth. Education Ecosystem stands out…

4 months ago

The Role of Artificial Intelligence in Modern Software Development

Artificial Intelligence (AI) has been making significant strides in various industries, and the software development…

7 months ago

Highest Stable Coin Yields – (W16 – 2024)

Another week to bring you the top yield platforms for three of the most prominent…

8 months ago

LEDU Token OTC Trading

If you hold a large volume of LEDU tokens above 1 million units and wish…

9 months ago