package com.bumptech.glide.load.engine.cache; import com.bumptech.glide.load.Key; import com.bumptech.glide.util.LruCache; import com.bumptech.glide.util.Util; import java.io.UnsupportedEncodingException; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; public class SafeKeyGenerator { private final LruCache<Key, String> loadIdToSafeHash = new LruCache<Key, String>(250); public String getSafeKey(Key key) { String safeKey = loadIdToSafeHash.get(key); if (safeKey == null) { try { MessageDigest messageDigest = MessageDigest.getInstance("SHA-256"); key.updateDiskCacheKey(messageDigest); safeKey = Util.sha256BytesToHex(messageDigest.digest()); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } catch (NoSuchAlgorithmException e) { e.printStackTrace(); } } return safeKey; } }