2012-07-27 2 views
2

내 웹 사이트 자바 로그인 프로그램과 페이지를 끝내는 동안 보안 문자로 유효성 검사 페이지에 URL을 통해 encypted 값을 전달하기로 결정했습니다. 나는 오래 전에 내가 쓴 글을 아직 모르는 사람이 없다는 열정을 가지고있다. 그래서 그것을 사용하고 싶다. 하지만 제대로 작동하려면 문자가 필요합니다. 내가 알 수 있듯이 PHP에는 char 유형이 없습니다. 그래서 내 질문에 먼저, 그들의 char 형식이며, 둘째, 가능한 int로 변환 할 수 있습니까? 사이드 노트 : 로그인은 서명 된 애플릿이므로 모든 페이지가 PHP로되어 있습니다. 편집 : 이것은 단지 암호화의 기초이며, 내가 알고리즘을 추가 할 것임을 언급하는 것을 잊었다.PHP char type encryption

+2

"나는 그 algorithim encyrption을 가지고 ... 내가 아는 아무도 금이 없다 그러나 "당신 자신의 안전을 굴리지 마십시오. –

+0

당신이 얼마나 안전한지 테스트하고 싶다면 누군가 다른 사람이 시도하고 해독하도록하십시오. 그들이 할 수 없다면, 당신의 알고리즘에 대해 좋은 말을합니다. – starbeamrainbowlabs

+0

필자는 선생님이 있었고 프로그래밍 수업에 참여한 모든 사람들이 처음 쓴 시간에 그것을 테스트합니다. 그들은 할 수 없었다. 그런 다음 1 년 후 다시 시도하도록 수업에서 가장 좋은 학생에게 요청했습니다. 그는 여전히 할 수 없었다. 그게 충분하니? – Taxes45

답변

2

문자열의 문자 $str$str[$index]으로 참조 할 수 있습니다. ord 함수는 캐릭터의 정수 값을 반환합니다

:

$val = ord($str[$index]); 

chr 기능을 수행하는 반대 :

$char = chr($val);//$char == $str[$index] 
+0

고맙습니다. 이것은 첫 번째 부분에서 해결되지만 int로 변경 될 수 있습니다. 즉, '$ val = (int) ord ($ str [$ index]); ' – Taxes45

+0

'ord'는 int를 반환합니다. D – meiamsome

+0

죄송합니다. ADD는 나의 능력을 독서로 죽입니다. – Taxes45

1

문자열 $s$s[$i]을 참조하여 문자를 액세스 할 수 있습니다. ord($s)은 문자의 ASCII 값을 가져오고, chr($n)은 ASCII 값에 해당하는 문자를 가져옵니다.

무엇을하고 있는지 알지 못하는 한 자신의 암호화 기본 형식을 사용하지 마십시오! 알려진 강력한 알고리즘 (예 : AES-256)의 PHP 자체 구현을 사용하십시오. 아무도 없기 때문에 아무도 귀하의 사용자 정의 알고리즘에 금이 간다고해서 다른 사람이 할 수 없다는 것을 의미하지는 않습니다.

0

은 PHP에는 char 유형이없고, string 유형은 쉽게 int로 변환하지 않습니다. PHP는 동적 인 타입 - 저글링을 처리하기 때문에 타입 선언은 사용되지 않습니다.

"아무도 내 [암호화 알고리즘]에 금이 갔다"고해서 반드시 미래에 누군가가 존재하지 않을 것임을 의미하지는 않습니다. 중요한 항목을 암호화하는 경우 표준 암호화 알고리즘을 사용합니다. 이유는 표준입니다.

+0

죄송합니다. 이것은 암호화의 기반에 불과하다는 것을 잊어 버렸습니다. 나는 그것을 더 빨리 암호화하기로 결정했다. 지금 바로 편집하겠습니다. – Taxes45