Câu trả lời:
Câu trả lời ngắn gọn: Bạn có thể sử dụng TortoiseSVN Password Decrypter để dễ dàng hiển thị thông tin đăng nhập được lưu trong bộ nhớ cache của bạn, bao gồm cả mật khẩu.
Câu trả lời dài: Đây là cách công cụ hoạt động.
Thông tin đăng nhập được lưu trong thư mục con của %APPDATA%\Subversion\auth\
. Được liệt kê từ câu trả lời trước này, chúng là:
svn.simple
chứa thông tin xác thực cơ bản (tên người dùng / mật khẩu)svn.ssl.server
chứa chứng chỉ máy chủ SSLsvn.username
chứa thông tin xác thực chỉ dành cho tên người dùng (không cần mật khẩu)Thư mục đầu tiên là một trong những quan tâm. Nó dường như chứa các tệp có tên giống như GUID; một cho mỗi kho lưu trữ mà bạn đã lưu thông tin đăng nhập.
Mật khẩu trong các tệp này được mã hóa bởi API bảo vệ dữ liệu của Windows . Công cụ trên sử dụng mã mẫu từ Obviex để giao tiếp với API này và thực hiện giải mã.
Để nó hoạt động, bạn phải có quyền truy cập vào cùng một tài khoản người dùng Windows mà bạn đang sử dụng khi bạn đánh dấu vào hộp kiểm "Lưu xác thực". Điều này là do API bảo vệ dữ liệu của Windows sử dụng khóa mã hóa được liên kết với tài khoản Windows của bạn. Nếu bạn mất tài khoản này (hoặc, tôi tin rằng, nếu quản trị viên đặt lại mật khẩu của bạn) thì bạn sẽ không thể giải mã mật khẩu được nữa (ngoại trừ có thể bằng cách sử dụng brute force / một công cụ của bên thứ ba ). Có một tài khoản Windows mới với cùng tên người dùng / mật khẩu (hoặc thậm chí có thể là SID) là không đủ.
Dựa trên thông tin bên dưới, có vẻ như bạn có thể giải mã cục bộ chúng theo một cách nào đó ...
CẬP NHẬT: Câu trả lời dứt khoát từ cộng đồng TortiseSVN
Khi chúng được mã hóa qua đường dây được mã hóa, chúng sẽ được mã hóa bằng cách bắt tay và / hoặc khóa đã thỏa thuận tại thời điểm kết nối.
Khi chúng được lưu trữ / đọc cục bộ, chúng được mã hóa / giải mã thông qua Windows Crypto API sử dụng khóa được liên kết với tài khoản Windows của bạn.
Máy chủ không thể giải mã bản sao được mã hóa cục bộ vì các khóa là cục bộ trong tài khoản của bạn.
Vì vậy, khi bạn kết nối (giả sử qua HTTPS), ứng dụng khách của bạn sẽ nhận được thông tin xác thực được giải mã thông qua API Windows thích hợp, sau đó đưa chúng vào quá trình truyền HTTPS. HTTPS mã hóa toàn bộ giao tiếp giữa máy khách và máy chủ bằng chứng chỉ SSL, không chỉ bằng thông tin xác thực.