임의의 특수 문자로 소금을 치는 해독 된 키가 있습니다 (변경되었습니다) : J_a&[email protected]$0=f%4{4-f-1*1([email protected]&e|0)1&987*5([email protected]$1'1(4*0)1}c+f'[email protected]@8_6_c)[email protected]@c(3}
모든 특수 문자를 제거하고 그 무염한 버전을 반환해야합니다 (예 : 지금 내가 사용하고 있습니다 :해독 된 키에서 소금을 제거하는 더 안전한 방법
def remove_salt(decrypted_key):
""" Remove salt from a decrypted key """
invalid_chars = set(string.punctuation)
return_key = []
for c in decrypted_key:
if c not in invalid_chars:
return_key.append(c)
return ''.join(return_key)
을 그래서 같을 것이다 :
>>> remove_salt("J_a&[email protected]$0=f%4{4-f-1*1([email protected]&e|0)1&987*5([email protected]$1'1(4*0)1}c+f'[email protected]@8_6_c)[email protected]@c(3}")
'Ja30000f44f111d03e019875b12311401cf59d86c41c3'
>>>
거기 내가 완전히 소금이 무엇인지 공개하지 않고 키에서 소금을 제거 할 수있는 안전한 방법을, 내가 의미하는 바는 string.punctuation
이다. 그 잘못된 문자 배우는 [email protected]#$ .. etc
입니다. 소금이 무엇인지 완전히 밝히지 않고 어떻게이 소금을 제거 할 수 있습니까?
소금에 절인 방법은 제 선택이 아닙니다. 소금이 무엇인지 눈에 띄지 않으면 서이 물질을 무염 화시켜야합니다.
'invalid_chars'를 매개 변수로 대신 사용할 수 있습니다. 이것이 여전히 당신이 겪은 것이 아니라면, 내가 읽었고 사용하는 잘못된 문자에 대한 외부 파일을 제안 할 것입니다. 'return ''.join (c가 invalid_chars가 아닌 경우 decrypted_key의 c는 c)' –
소금은 비밀 정보가 아니므로 숨길 필요가 없습니다. 표준 암호화 라이브러리를 살펴 보시기 바랍니다. – msitt
모호! = 보안. 이것은 염분이 어떻게 작용하는지가 아닙니다. – Dan