• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

rand() vs random_int() 차이점?

22.04.06 06:20 작성 조회수 221

0

저도 궁금해서 몇가지 찾아봤습니다.

 

https://stackoverflow.com/questions/44228718/php-rand-vs-random-int

 

윗 링크의 첫 답변에서 볼 수 있듯이, rand는 암호화를 지원하지 않고, random_int는 암호화 지원을 한다고 되어있습니다. 특히, 세 번째 답변을 보시면 rand가 난수를 발생하는 것 처럼 보이지만 사실은 이에 대한 정해진 코드가 있고, 이 코드로 결과 값을 예상할 수 있다고 합니다. 강사님께서도 이 부분을 말씀하고 싶으셨던 것 같아요. :)

 

또, rand와 random_int는 속도 면에서도 차이가 나는데요, 윗 링크의 두 번째 답변과 세 번째 답변을 참고하시면 rand가 월등히 빠른 것을 확인하실 수 있습니다. 아무래도 random_int가 암호화 과정을 거치다 보니 rand보다 4배 이상 느릴 수 밖에 없는 것 같네요.

 

결과적으로

1) 암호화가 필요없고 빠른 속도가 중요한 경우에는 rand를,

2) 비밀번호와 같이 암호화가 꼭 필요한 경우에는 random_int를

쓰는 것이 퍼포먼스와 기능 면에서 올바르게 난수를 발생시키는 방법인 것 같아 몇 줄 적어봅니다.

 

오늘도 즐거운 코딩하세요!

답변 1

답변을 작성해보세요.

0

답변이 게시된 내용을 삭제하고 다시 올릴 수 있는지는 모르겠지만, 강의 - 커뮤니티 - 스터디 쪽에 올려주실 수 있으신가요?