2010-04-19 2 views
4

인간의 눈으로 쉽게 읽을 수 없도록 문자열 변수 (내 API 키)를 간단하게 인코딩해야합니다. 정확히 똑같은 초기 문자열로 쉽게 디코딩해야합니다. 이 작업을 수행하는 실용적이고 신속한 표준 (사용자 측면에서 컴퓨팅이 적음)은 무엇입니까?문자열 변수를 간단히 인코딩하고 디코딩하는 방법

미리 감사드립니다. 이 슈퍼 - 안전하지 않는 경우

+0

키를 보호하는 것이 전혀 도움이되지 않는다는 것을 알고 계십니까? – elias

답변

3

은, Base64 인코딩은 항상 편리 : 클라이언트에 대한 정보를 당황하게 할 수있는

http://www.webtoolkit.info/javascript-base64.html

+0

http://plugins.jquery.com/project/b64를 사용하여 종료했습니다. btw – Mohammad

+0

좋은 점은이 방법은 해독하기가 불편하지만 멀리는 불가능하다는 것입니다. –

+0

문자열을 뒤집어서 문자열을 뒤집어서 추가 한 비트를 추가했습니다. 하하 :) 나는 그 비트가 반전 된 이후에 어떤 비트가 추가되었는지 알기 어렵습니다. ^^ 디코더는 쓰레기를 반환합니다. – Mohammad

0

모든 당신이 디에 대한 코드가 포함되어 있음을 의미한다 바로 옆에있는 난독 화.

그래서 ... 프로그램과 가상의 공격자를위한 추가 단계 하나를 추가하는 것 외에는 아무 것도 얻을 수 없습니다. 어쨌든별로.

API 키가 비밀 인 경우 서버에 보관하고 서버가 HTTP 요청을 통해 작업하도록하십시오.

+0

예! 그건 사실이지만, 나는 자바 스크립트 함수를 혼란스럽게 할 것이기 때문에, 코드를 약간만 섞어 쓰면된다. 코드가 사소한 것이기 때문에 나는 단지 "Ctrl + F"이점을 빼앗아 가려고한다. 실제로 모든 코드를 다시 배우고 복사합니다. 아마추어들을 낙담시킬 것입니다. 프로젝트와 관련이 있습니다. 어떻게 설명했는지 잘 모르겠습니다. – Mohammad

+0

@ 모함메드 : 그것이 얇은 선이라는 것을 알고 있습니다. 그러나 비밀스런 경우 ("사람들이 알아 내면 나쁜 일이 일어난다"라는 측면에서 JS 난독 화는 충분하지 않으며 클라이언트에서 실행하는 것은 어떤 모양이나 형태로되어 있더라도 본질적으로 위험합니다.) 비밀로하는 이유는 무엇입니까? 그렇다면 ... 대상 고객은 누구입니까? 누구를 멀리 운전합니까? – Tomalak

+0

Tomalak 당신은 당연한 것입니다. 내 다음 보안 최적화에서 걱정해야 할 것입니다. 감사합니다 :) – Mohammad

0

Javascript Obfuscator을 사용해 전체 스크립트 또는 부분을 인코딩 할 수 있습니다. 절대적인 해결책은 아니지만 코드 보호를 시작하십시오.

+0

이것은 문자열 변수를 인코딩하지 않습니다. –

0

이 비밀 정보인지를?

비밀 인 경우 실제 암호화 라이브러리가 필요하며 심층적 인 사고가 있어야 비공개가 유지됩니다. 나는 브라우저에 비밀을 절대로 보내지 않는 것을 진지하게 고려할 것이다.

비밀이 아니며 URL없이 URL을 보내야하는 경우, escape()/unescape()를 사용하면 원하는 내용을 찾을 수 있습니다.

+0

'escape()'/'unescape()'의 사용은 권장하지 않습니다 : https://developer.mozilla.org/en/Core_JavaScript_1.5_Guide/Predefined_Functions/escape_and_unescape_Functions – Tomalak

관련 문제