예 : 5 자리 문자를 암호화하고 싶습니다. 12345
~ 3 자까지 가능합니까?5 자리 숫자를 3 자 문자열로 인코딩하는 방법
-3
A
답변
3
base_convert으로 할 수 있습니다.
echo base_convert('12345', 10, 36); // 9ix
다시
echo base_convert('9ix', 36, 10); // 12345
그러나이 방법은 제한 번호를 가지고 : 당신이 제한없이 5 자리 숫자를 변환하는 데 도움 기능을 얻을 수있는 의견에서 46,655
.
$alphbet_47 = implode(array_merge(range(0, 9), range('a', 'z'), range('A', 'K')));
$alphbet_10 = implode(range('0', '9'));
echo convBase('12345', $alphbet_10, $alphbet_47) . PHP_EOL; // 4kN
// KKK the biggest number of 47 base system. 10 base representation of its is more than any 5 digit number
echo convBase('KKK', $alphbet_47, $alphbet_10) . PHP_EOL; // 103822
function convBase($numberInput, $fromBaseInput, $toBaseInput)
{
if ($fromBaseInput==$toBaseInput) return $numberInput;
$fromBase = str_split($fromBaseInput,1);
$toBase = str_split($toBaseInput,1);
$number = str_split($numberInput,1);
$fromLen=strlen($fromBaseInput);
$toLen=strlen($toBaseInput);
$numberLen=strlen($numberInput);
$retval='';
if ($toBaseInput == '')
{
$retval=0;
for ($i = 1;$i <= $numberLen; $i++)
$retval = bcadd($retval, bcmul(array_search($number[$i-1], $fromBase),bcpow($fromLen,$numberLen-$i)));
return $retval;
}
if ($fromBaseInput != '')
$base10=convBase($numberInput, $fromBaseInput, '');
else
$base10 = $numberInput;
if ($base10<strlen($toBaseInput))
return $toBase[$base10];
while($base10 != '0')
{
$retval = $toBase[bcmod($base10,$toLen)].$retval;
$base10 = bcdiv($base10,$toLen,0);
}
return $retval;
}
관련 문제
- 1. double을 5 자리 이상의 5 자리 숫자로 된 문자열로 변환하십시오.
- 2. 10 자리 숫자를 16 진수 문자열로 변환
- 3. 숫자 열에없는 임의의 5 자리 숫자를 생성하십시오.
- 4. varchar에서 5 자리 숫자를 찾는 방법은 무엇입니까?
- 5. JAVA에서 4 자리 숫자 또는 nummerical 문자열로 인코딩하는 방법은 무엇입니까?
- 6. 숫자를 과학 형식의 문자열로 변환합니다.
- 7. 자리 표시 자 클래스 메서드 Python 3
- 8. preg_match를 사용하여 5 - 10 자 사이의 숫자를 일치 시키십시오.
- 9. 4 자리 숫자를 3 개의 정수로 나눕니다.
- 10. 숫자를 문자열로 변환하는 방법
- 11. ino_t의 자리 표시 자
- 12. MATLAB에서 숫자를 문자열로 변환
- 13. 5 자리 시퀀스 번호 생성 방법
- 14. 5 자리 숫자 또는 알파 문자 뒤에 5 자리 숫자를 허용하는 정규식
- 15. 자리 표시 자 함수
- 16. 데이터베이스에 4 자리 숫자를 포함하도록 숫자를 입력하십시오.
- 17. 문자열을 문자로 루비 문자열로 인코딩하는 방법
- 18. C#에서 긴 문자열로 개체를 인코딩하는 방법?
- 19. UITextField 자리 표시 자
- 20. 제작이 5 자리 숫자
- 21. SQL to_char() 0xx로 2 자리 숫자를 인쇄하고 3 자리 숫자를 건드리지 않음
- 22. 데이터 자리 표시 자
- 23. 8 * 8 DataMatrix에서 3 자 이상을 인코딩하는 방법은 무엇입니까?
- 24. 두 숫자를 문자열로 추가하는 방법
- 25. XtraReport에서 숫자를 문자열로 변환하는 방법
- 26. 숫자를 표시 문자열로 변환하는 방법
- 27. HttpPost 매개 변수에서 10 자리 숫자를 문자열로 사용하지 않습니다.
- 28. 파이썬 문자열로 숫자를 분할
- 29. 숫자를 문자열로 배열하십시오.
- 30. UIButton 자리 표시 자 텍스트
무엇이 ............? – Ohgodwhy
나는 encode를 의미한다고 생각한다. 암호화는 키를 사용합니다. –
예를 들어 5 자리의 난수가 있습니다. 12345, 내 요구 사항은 그것을 암호화하고 5 자리 대신 3자를 표시하는 것입니다. PHP로 가능합니까? 그렇다면 ASCII 문자없이 사용자 정의 encyption을 사용할 수 있습니까? –