Лучшая библиотека zip с [закрытой] лицензией общественного достояния

До уровня 21 это, безусловно, невозможно на ненагруженном устройстве, и нет альтернативы с обычными разрешениями.

Если это нормально, требуют дополнительных прав администратора, возможно, возможно эмулировать подтверждение учетных данных очень слабо, с гораздо большим усилием, реализуя DeviceAdminReceiver.onPasswordSucceeded . Заблокируйте экран, когда пароль успешно выполнит требуемое действие. Это может оказаться относительно сложным, потому что действие не всегда принимается (только если статус изменился), необходимо сохранить последний успех, связаться с получателем и т. Д.

. В качестве примечания стороны дважды проверьте использования и вашего дизайна, в большинстве случаев, когда используется createConfirmDeviceCredentialIntent, он фактически не требуется, и другие варианты дизайна могут устранить необходимость в нем.

Лучше предоставить подробную информацию о том, что именно вы пытаетесь защитить. Если это случай случайного доступа к устройству неавторизованным лицом, и создается постоянный токен, скажем, из некоторой службы oauth, может быть разумным либо повторно авторизовать через один и тот же поток входа в систему, либо сохранить некоторый hmac исходных учетных данных наряду с токеном, затем запрашивать и повторно проверять учетные данные, а не запрашивать учетные данные устройства. В качестве альтернативы, если этого достаточно для использования, вы можете использовать google login , чтобы разрешить доступ к вашему приложению / токену и проверить, что пользователь Google является тем же самым для сохраненного токена.

30
задан James Reinstate Monica Polk 11 July 2010 в 00:48
поделиться

7 ответов

Я бы порекомендовал ZipLib .

Личные причины, по которым я люблю этот проект:

  • построены на потоках c ++ 11 stl (например, распаковывает в потоки STL!)
  • облегченный ( никакие зависимости, кроме zlib)
  • не могут использоваться в обоих окнах & amp; linux

Мне понадобилось много времени, чтобы найти этот проект - надеюсь, это кому-нибудь поможет.

18
ответ дан troyane 27 November 2019 в 23:58
поделиться

Он еще не существовал, когда был задан вопрос. Но теперь это так: miniz - общественное достояние, один файл C, явно вдохновленный подобными stb_image.

16
ответ дан Manveru 27 November 2019 в 23:58
поделиться

Это не общественное достояние, но Minizip , входящий в состав zlib , соответствует трем другим вашим требованиям. Он также содержит miniunz.c, очень простой пример для последующего архивирования.

4
ответ дан x-x 27 November 2019 в 23:58
поделиться

Самым близким, что я могу придумать, будет Xz-utils , который использует общедоступный LZMA SDK. Это не zip, per se , и при этом он не использует алгоритм deflate, но это одна из немногих библиотек сжатия в открытом доступе.

2
ответ дан greyfade 27 November 2019 в 23:58
поделиться

Public Domain - это LZMA sdk от 7z http://www.7-zip.org/sdk.html

Проблема: документация «не существует» :-(

1
ответ дан nobs 27 November 2019 в 23:58
поделиться

Самая популярная реализация zip-архива с открытым исходным кодом - Info-Zip . Алгоритм Deflate, используемый в формате zip-файла, реализован библиотекой zlib . Оба выпущены по либеральной, подобной BSD лицензии, но не являются общественным достоянием.

11
ответ дан 27 November 2019 в 23:58
поделиться

http://www.bzip.org/ - довольно распространенное явление и требование многих easy_installs на многих целевых языках.

Update: Я понимаю, что это неправильно, но это распространенное недоразумение, поэтому я оставляю его как дозорный для описания частой ошибки.

-2
ответ дан 27 November 2019 в 23:58
поделиться