danikula / danikula/AndroidVideoCache
Media is encrypted but not working after cached.
- 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