class OpearFile implements Opear {

    static Result<String> getHashCacheKey(final @NotNull String path) {
        try (FileInputStream is = new FileInputStream(path)) {
            MessageDigest digest = MessageDigest.getInstance("SHA-256");
            final byte[] buf = new byte[1024];
            int nread;
            while ((nread = is.read(buf)) != -1) {
                digest.update(buf, 0, nread);
            }
            final byte[] mdbytes = digest.digest();
            return Result.success(Base64.getUrlEncoder().withoutPadding().encodeToString(mdbytes));
        } catch (Exception e) {
            return Result.failure(e);
        }
    }

      OpearFile(final File cacheDir, final OpearMetadata metadata);

}