danikula / danikula/AndroidVideoCache

Media is encrypted but not working after cached.

Open
#229 2 comments 0 reactions 0 assignees View on GitHub
Dominant language
Java
Stars
5.5k
Forks
1.2k
PR merge metrics
No merged PRs in 30d

Description

Hi,

Following up on this [issue](https://github.com/danikula/AndroidVideoCache/issues/71#issuecomment-301775416)
I wrote the `Cipher` using `XOR` encryption as you said above, but i ran into problem where data is ciphered successfully and cached but not when i try to decipher the cached file.

private fun encryptOrDecrypt(input: ByteArray, key: String) {
for (i in input.indices) {
val o = input[i] xor '0'.toByte()
input[i] = o

}
}

and i aslo added the `CipherAwareCacheWrapper`

private HttpProxyCache newHttpProxyCache() throws ProxyCacheException {
HttpUrlSource source = new HttpUrlSource(url, config.sourceInfoStorage, config.headerInjector);
FileCache cache = new FileCache(config.generateCacheFile(url), config.diskUsage);
CipherAwareCacheWrapper cipherAwareCacheWrapper = new CipherAwareCacheWrapper(cache, config.cipher);
HttpProxyCache httpProxyCache = new HttpProxyCache(source, cipherAwareCacheWrapper);
httpProxyCache.registerCacheListener(uiCacheListener);
return httpProxyCache;
}

Can you please guide me on what I'm missing up?
Thanks in advance.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start at the supplied newHttpProxyCache() entry point and inspect how CipherAwareCacheWrapper applies the Cipher while writing and reading cached data. Reproduce the failure with the provided XOR example; done means encrypted media remains readable and playable after it has been cached.

Written by the indexing model from the issue text.

Assessment

Tech stack
android, java, kotlin
Domain
cryptography, mobile-dev
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.