문제

INI 파일에서 값을 암호화하는 가장 좋은 방법은 무엇입니까?

암호화/암호 해독 키 사용 ??

도움이 되었습니까?

해결책

무슨 목적을 위해? 보안?

(예 : 일반 텍스트 비밀번호를 암호화하려는 경우 PKI의 일부 구현을 사용해야합니다. 그러나 주요 관리가 귀하의 문제가된다는 것을 기억하십시오. INI 파일은 로컬 호스트의 파일 시스템에있을 가능성이 높기 때문에 값을 암호화하는 것은 만병 통치약이 아닙니다. 아마도 키 쌍을 저장 해야하는 것과 같은 장소 일 것입니다. 당신은 단순히 문제를 레이어 아래로 추상화했습니다. 암호화 된 암호를 직접 읽을 수는 없지만 키 쌍을 저장하는 장소를 찾을 수 있다면 스스로 해독 할 수 있습니다.

다른 팁

어떤 효과에? 당신은 무엇을 보호하거나 난독 화하려고 노력하고 있습니까?

모든 플랫폼에서 사용할 수있는 많은 양방향 키 암호화 알고리즘 중 하나를 사용할 수 있습니다. 그러나 처음에 왜 그렇게하고 있는지 스스로에게 물어보십시오. 해킹 방지를 만들려고한다면 INI 현악기 암호화는 INI를 해독하자마자 문자열이 메모리에 있기 때문에 그렇게 멀지 않을 것입니다. 그리고 해독의 열쇠는 프로그램에 있습니다. 어린이 놀이를 해킹합니다.

사람들이 설정을 쉽게 편집하는 것을 중지하고 싶다면 INI에 넣지 마십시오. 사용자가 편집하는 데 어려움을 겪을 바이너리 형식을 선택하십시오.

이메일 비밀번호가있는 개인 스크립트의 경우 사용합니다.작은 갈등.

코드 자체에 패스 키를 넣을 것입니다. 이렇게하면 캐주얼 스누퍼가 이메일 비밀번호를 탐색하고 선택하는 것을 방지합니다.

코드도 매우 간단합니다. 여기 파이썬에 있습니다.

import random
import base64
def tinycode(key, text, reverse=False):
    "(de)crypt stuff"
    rand = random.Random(key).randrange
    if reverse:
        text = base64.b64decode(text)
    text = ''.join([chr(ord(elem)^rand(256)) for elem in text])
    if not reverse:
        text = base64.b64encode(text)
    return text

보다 강화 된 보안을 위해서는 PGP를 사용하지만 패스 키를 자랑해야합니다. 완벽한 설정은 없으며, 요구 사항에 따라 다릅니다.

키가있는 표준 암호화 알고리즘을 사용할 수 있으며 암호화하기 전에 임의의 패딩으로 값을 접두사 할 수 있습니다.

그러나 그 열쇠를 어디서 저장할 계획입니까? 아니면 사용자가 비밀번호를 입력하고 그로부터 키를 도출하도록 하시겠습니까? 그렇지 않다면 값을 암호화하는 것은 상당히 무의미합니다.

당신도 그것을 해독해야합니까? 그렇지 않다면 당신은 그냥 할 수 있습니다 소금 그리고 해시.

해독하고 싶다면 언어를 지정해야한다고 말합니다.

MD5 해시

그런 다음 해시 ( "비밀번호")를 ini_file.password hash와 비교합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top