Nhiệm vụ là để lưu các mật khẩu nhập (PasswordStr) hoặc mKey.getEncoded byte [] và sau đó tự động gửi tới API Crypto (Cipher)Làm cách nào để lưu trữ mật khẩu an toàn trên Android?
SecretKey mKey = SecretKeyFactory.getInstance("PBKDF2WithHmacSHA1").generateSecret(new PBEKeySpec(PasswordStr.toCharArray());
Rõ ràng là mật khẩu này cũng có thể được mã hóa, nhưng điều này sẽ yêu cầu mật khẩu khác và cứ thế vô cùng.
Có thể Android đã cung cấp cơ chế lưu trữ mật khẩu?
p.s sử dụng máy chủ từ xa là không thể. Cần được lưu trữ cục bộ.
Trường hợp sử dụng của bạn là gì? Tại sao bạn cần phải lưu trữ một mật khẩu hoặc một chìa khóa ở tất cả? Hiện tại nó không rõ ràng nếu bạn muốn lưu trữ một mật khẩu hoặc một khóa. Với lựa chọn, hãy lưu khóa * đã tạo * (và tất cả muối công khai). Bạn không muốn rò rỉ mật khẩu của người dùng cho các bên khác! –
Thật lý tưởng để lưu trữ mật khẩu chuỗi. Nhưng về nguyên tắc, mã nguồn Java không quan trọng. Tôi muốn đảm bảo người dùng của mình bảo mật dữ liệu của họ. Muối, lặp lại, vv có thể được nhìn thấy sau khi giải mã. – Mixer
Bây giờ nó thậm chí còn ít ý nghĩa hơn. Muối không nên có trong mã, một muối nên được ngẫu nhiên, không phải [loại ngẫu nhiên] (http://xkcd.com/221/). Số lượng muối và số lần lặp lại có thể được công khai. –