저는 ASP.NET 2.0에서 응용 프로그램을 작성 중이며 암호는 최근 3 개월 C# .net과 일치해서는 안된다는 작업을 제공했습니다. 처음 3 개월 동안 비밀번호 입력란은 null이 될 것입니다. 처음 3 개월 동안 저장 하겠지만 4 번째 월부터는 모든 입력란과 비밀번호를 비교 한 후 첫 번째 입력란에 비밀번호를 저장하는 방법을 알려줍니다. 완전히 갇혔다.암호를 지난 3 개월 암호와 비교하십시오.
-1
A
답변
2
이 작업을 수행하는 가장 좋은 방법은 userID, 암호 해시 및 타임 스탬프로 구성된 별도의 테이블을 만드는 것입니다. 패스워드가 변경되면 여기에 삽입 할 것이고 타임 스탬프는 삽입시 현재 시간이 될 것입니다. 개수> 0, 그들은 최근 3 개월 이내에 사용했습니다 경우
SELECT count(*) FROM oldpasswords where userid = :p_userid and
password = :p_pass and timestamp < DATE_SUB(NOW(), INTERVAL 3 MONTH);
: 사용자가 암호를 변경하려고 할 때
CREATE TABLE `oldpasswords` (
`userid` int(11) NOT NULL,
`password` varchar(255) NOT NULL default '0',
`timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP,
PRIMARY KEY (`userid`,`password`, `timestamp`)
);
그럼 당신은이 테이블을 조회 할 수 있습니다. 그렇지 않으면이 테이블에 삽입하고 주 사용자 테이블 레코드도 변경하십시오.
이 표는 정기적으로 정리할 수도 있습니다.
DELETE FROM oldpasswords WHERE timestamp < DATE_SUB(NOW(), INTERVAL 3 MONTH);
은 3 개월 이상 된 항목은 삭제할 것이므로 더 이상 필요하지 않으므로 더 이상 필요하지 않습니다.
0
기본적으로 "은퇴 된"암호가 저장되어있는 테이블을보고 있는데,이 테이블은 자신이 소유 한 사용자 계정과 변경된시기가 연관되어 있습니다. 그들이 작업 흐름을 변경 갈 때 이동 : 새 암호가 현재 암호와 동일
- 선택하면
- 확인 새 암호 (즉, 사용자와 관련된) "이전 암호"데이터베이스에 있고 시간 내에 떨어지는 경우 그 모두 거짓을 경우,
범위의 변화로 이동 :
- 는 "이전에 새로운 항목으로 현재 암호를 추가 비밀 번호 "데이터베이스
- 사용자의 비밀 번호를 변경하여 자신의 프로파일에 다시 저장하십시오.
- (선택 사항) 걱정되는 것보다 오래된 항목에 대해"이전 암호 "데이터베이스를 정리하십시오.
적어도 내가 그 문제를 해결하는 방법입니다.
관련 문제
- 1. PHP - 암호를 루트 암호와 비교하십시오.
- 2. 지난 3 개월 간의 레코드 선택
- 3. 지난 1 개월 동안의 지난 트윗 카운트?
- 4. mysql 데이터베이스에서 3 개월 이상 지난 행을 삭제하는 작업
- 5. 저장된 암호화 된 암호와 일치하도록 암호를 암호화합니다.
- 6. 해시 - 암호와 일반 암호를 비교하는 방법은 무엇입니까?
- 7. 3 개월 전의 타임 스탬프
- 8. 지난 4 개월 동안 개별적으로 계산 (())?
- 9. 지난 9 개월 데이터를 얻는 방법?
- 10. 이맥스 캘린더 : 3 개월 이상 보이십니까?
- 11. 현재 날짜의 NSDate 가져 오기 - 3 개월
- 12. 테이블에서 지난 3 개월간의 기록을 얻으십시오
- 13. 비교 날짜가 3 개월 미만
- 14. 모바일 응용 프로그램의 BCrypt-ed 암호를 비교하십시오.
- 15. Microsoft Access 암호와 사용자 제공 암호를 비교하는 방법?
- 16. 선택 개월 계산 개월
- 17. SQL Server 2008 - 데이터베이스에서 지난 3 개월 간의 데이터를 내보내거나 백업하는 방법은 무엇입니까?
- 18. 이 달과 지난 6 개월 동안의 vb.net 루프
- 19. 지난 6 개월 동안 데이터 (보고서 작성 도구)가
- 20. 지난 12 개월 동안 행 수 계산 - PHP SQL
- 21. LINQ를 사용하여 지난 12 개월 간의 목록을 만들 수 있습니까?
- 22. 지난 12 개월 동안 T-SQL 2005에서 어떻게 회전 시키나요?
- 23. 지난 6 개월 간의 게시물을 월별로 그룹화하는 MySQL 쿼리
- 24. 는 지난 몇 개월 동안 아무 코드 변경으로
- 25. 지난 5 일 또는 1 개월 대신 지난 1 일 이후로 소나 쇼를 변경하는 방법은 무엇입니까?
- 26. MySQL : 3 개월 내에 잡아 행이 없음
- 27. 레일 3 - 날짜 문자열에 개월 추가
- 28. Ruby on Rails 다음 3 개월 선택
- 29. MySQL 3 개월 내에 주문이없는 고객 선택
- 30. mysql은 3 개월 이상 레코드를 선택합니다.