inflearn logo
강의

Khóa học

Chia sẻ kiến thức

Lập trình PHP 7+

25-CSPRNG

rand() vs random_int() 차이점?

516

leehuhlee1511

3 câu hỏi đã được viết

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를

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

 

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

php

Câu trả lời 1

0

pronist

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

53강 레이아웃에서 css git 링크 관련 질문입니다.

0

33

2

[섹션 5]레포지토리 소스파일 오류 위치, 수정 제안

0

180

1

add configuratio.. 자체에

0

268

2

터미널에 글이 안써집니다.

0

635

1

일반적으로 쓰이지 않는 폰트 부분

0

464

1

readmore 클릭시 쿼리내용 받아오는게 이해가 안되요

0

497

1

$_GET과 $_POST를 구별하여야한다고 하는데 이건 왜 $_GET입니까 콜백이라서 그런가요? 왜콜백은 그래도 되나요?

0

475

1

xdebug 설치가 안됩니다.

0

401

1

xdebug 설치 확인 페이지가 안열립니다

0

360

1

if ~ elseif ~ else 문법 표준적인 코딩 방법에 대한 질문입니다.

1

523

1

mysqli_stmt_close($stmt) 관련 질문드립니다.

0

319

1

DB_CONNECTION 부분 질문

0

267

1

FILTER_VALIDATE FILTER_SANITIZE 차이를 모르겠습니다.

0

295

1

결과 ...

0

244

1

random_bytes

0

319

1

preg_replace_callback 질문드립니다.

0

434

1

호스팅에 php 코드 업로드하면 hash 로직이 보이진 않을까요?

0

266

1

버퍼링 궁금한 점이 있습니다.

0

287

1

restore_include_path 오류

0

315

1

php 에러발생..

0

3756

3

터미널로 php 실행시 document root 지정

0

242

1

posts가 null이라고 나옵니다.

0

205

2

php 8 로 하시는 분들을 위한 ini 팁

1

510

1

xdebug 뭔짓을해도 안됩니다

0

216

1