별표 (*)로 모든 문자를 대체 :PHP는 그래서 문자열의 형태로 암호가 말할 수
$password = "thisisaplaintextpassword"
나는 다음으로 바꿀 수 있습니까?
$password = "************************"
전자 메일을 통해 사용자에게 계정 정보를 보내고 싶습니다. 전체 내용을 보내려하지 않습니다.
별표 (*)로 모든 문자를 대체 :PHP는 그래서 문자열의 형태로 암호가 말할 수
$password = "thisisaplaintextpassword"
나는 다음으로 바꿀 수 있습니까?
$password = "************************"
전자 메일을 통해 사용자에게 계정 정보를 보내고 싶습니다. 전체 내용을 보내려하지 않습니다.
$password = "thisisaplaintextpassword"
echo str_repeat("*",strlen($password));
샘플 입력
testingpass
샘플 출력
***********
샘플 입력
hello
즉 안전해야 누출 정보이기 때문에 당신은 정말, 사용자에게 길이를 표시하지 않아야
*****
function hidePassword($p) {
$fit = strlen($p);
return sprintf("%'*-${fit}s",false);
}
echo hidePassword($p);
샘플 출력.
소크라테스 식의 방법은 "왜 그렇게하고 싶습니까?"라는 질문에 아래 질문에 사용됩니다. 더 많은 충고는 "하지 마라."하지만 소크라테스 식의 방법은 당신에게 질문이 왜 제기되고 있는지 생각하도록 격려하기로되어있다. 당신이 그려야 할 결론은 "질문의 근거가 잘못되어 있기 때문에 특정 질문을해서는 안됩니다"입니다. 그냥 정적 문자열을 사용하십시오. 이것은 주어진 상황에서 잘못된 일을하는 방법을 실제로 말하는 것보다 더 나은 조언입니다.
둘째 : 암호의 길이를 반영하는 별표 (*)를 사용자에게 표시하려면 암호를 일반 텍스트로 저장하거나 원래 형식으로 되돌릴 수 있도록 암호화하는 것이 좋습니다. 길이를 결정하기. 이것은 당신의 부분에 보안의 추가 부족을 배신하고 있습니다. 그렇지 않은 아주 좋은 이유가 없다면 암호 해시 만 저장해야합니다. 해시는 길이가 일정하므로 질문이 중복 될 수 있습니다.
당신은 - 아주 간단하게 - 이것을해서는 안됩니다. 그은 당신이 묻고있는 질문의 결론에 대한 대답입니다.
그러나 완전성을 위해, 당신이 다른 응답에 이미 대답을 반복합니다 :
function stringToAsterisks($string){
return str_repeat("*", strlen($string));
}
이 통찰력에 감사한다. 계정 시스템을 설정하는 것은 이번이 처음입니다. – ThatGuy343
probs 없음 : 우리는 모두 어딘가에서 시작하고,이 물건 중 일부는 첫 번째 시간에 즉시 분명하지 않습니다. 내가 직접 모든 것을 고안하지 말고, 이런 종류의 일에 최선의 방법으로 접근하는 방법에 대해 읽어보십시오. 특히 사람들의 데이터를 보호 할 때 그렇습니다. –
을 '전체 thing.'를 보내지 않으 .. 그럼 왜 필요하지 않은 경우 암호를 보내려고합니까? – Jenz
@u_mulder 암호 길이가 다릅니다 – ThatGuy343
아무도 볼 수 없으면 - 1. 왜 보내겠습니까? 2. 누가 그 길이가 얼마입니까? –