PHP를 사용하여 고유한 문자열을 생성하는 방법은 무엇입니까?
YouTube 끝에 표시되는 문자열과 같습니다: 6Af6b_wyiwI(URL에서 허용되는 문자)
그리고 대소문자를 구분하나요?
그리고 매번 나타나는 문자열의 길이를 설정할 수 있습니다
예를 들어 4~7개의 무작위
는 ga79e aa09gsw awe9f 등이 됩니다(매번 이렇게 변경됩니다
PHP를 사용하여 고유한 문자열을 생성하는 방법은 무엇입니까?
YouTube 끝에 표시되는 문자열과 같습니다: 6Af6b_wyiwI(URL에서 허용되는 문자)
그리고 대소문자를 구분하나요?
그리고 매번 나타나는 문자열의 길이를 설정할 수 있습니다
예를 들어 4~7개의 무작위
는 ga79e aa09gsw awe9f 등이 됩니다(매번 이렇게 변경됩니다
MD5 또는 SHA1로 암호화할 수 있는 타임스탬프를 사용하는 것이 좋지만 길이가 고정되어 있고 대소문자가 고정되어 가로채거나 암호화 규칙을 직접 정의할 수 있습니다. 원하는 길이를 설정할 수 있습니다. 중복 가능성은 없습니다(불가능한 사건)
문자열을 직접 정의한 후 무작위로 얻으면 중복 가능성(작은 확률 사건)이 있습니다.
URL만 적으면
segmentfault의 URL 작성 방법도 참고할 수 있습니다
https://segmentfault.com/q/10...
순차적으로 증가하는 시퀀스를 생성한 후 ASCII 코드를 통해 문자열로 변환
PHP 10진수 및 16진수 변환:
<code>echo gmp_strval(gmp_init('9876543210', 10), 62)."\n"; //AmOy42 echo gmp_strval(gmp_init('AmOy42', 62), 10)."\n"; //9876543210</code>
위의 AmOy42는 실제로 원하는 "문자열"이어야 합니다.
62진법(10+26+26)은 숫자 10개 + 소문자 26개 + 대문자 26개를 사용합니다. 문자를 사용하여 값을 표현함으로써 자릿수를 크게 줄였습니다.
9876543210은 데이터베이스에서 자체적으로 증가하는 ID이므로
간단한 방법으로 sha256과 같은 해시 알고리즘은 (16진수 문자열 대신) 바이너리 데이터를 얻은 다음 base64 인코딩을 사용합니다
이런 참조 단축링크 생성 방식도 괜찮습니다