Skip to content

Doomaykaka/PasswordManager

Repository files navigation

PasswordManager

Возможности

Данная библиотека имеет следующие возможности:

  • Шифрование и расшифрование текстовых данных.
  • Шифрование и расшифрование структур данных с логином и паролем.
  • Сохранение и восстановление структур данных с логином и паролем в файловой системе.
  • Поддержка многопоточного кодера.

Как установить?

Зависимости

  • JDK 8 и выше
  • Gradle 8.0.1 и выше

Установка библиотеки

Для установки библиотеки необходимо изменить содержимое своего build.gradle скрипта:

repositories {
    mavenCentral()
	maven { url 'https://jitpack.io' }
}

dependencies {
	// ваши зависимости
	// ...
	implementation 'com.github.Doomaykaka:PasswordManager:1.0.1'
}

Для отображения документации в Eclipse необходимо изменить содержимое своего build.gradle скрипта:

// ваши плагины
// ...

id 'eclipse'

// ваш скрипт
// ...

eclipse.classpath.downloadJavadoc = true
eclipse.classpath.downloadSources = true

Для отображения документации в Idea необходимо изменить содержимое своего build.gradle скрипта:

// ваши плагины
// ...

id 'idea'

// ваш скрипт
// ...

idea.classpath.downloadJavadoc = true
idea.classpath.downloadSources = true

Использование библиотеки

Для использования менеджера сначала его необходимо проинициализировать. Инициализацию менеджера достаточно осуществить один раз в приложении для использования менеджера.

boolean needsLogs = false;
boolean needRawDataChecked = true;
boolean needMapStorage = false;
boolean needThreadEncoder = true;

Manager.initialize(needsLogs, needRawDataChecked, needMapStorage, needThreadEncoder);

Для смены алгоритма кодирования можно выбрать один из предоставленных в библиотеке.

Manager.getContext().getEncoder().setAlgorithm(EncoderAlgorithm.MD2);
Manager.getContext().getEncoder().setAlgorithm(EncoderAlgorithm.MD5);
Manager.getContext().getEncoder().setAlgorithm(EncoderAlgorithm.SHA);
Manager.getContext().getEncoder().setAlgorithm(EncoderAlgorithm.SHA256);
Manager.getContext().getEncoder().setAlgorithm(EncoderAlgorithm.SHA384);
Manager.getContext().getEncoder().setAlgorithm(EncoderAlgorithm.SHA512);

Для шифрования и расшифрования текстовых данных необходимо:

String coded = Manager.getContext().getEncoder().encodeString("Hello", "123");

String decoded = Manager.getContext().getEncoder().decodeString(coded, "123");

В случае использования неправильного пароля для расшифрования, метод decodeString вернёт null.

Для шифрования структур данных с логином и паролем необходимо:

IRecord newRecord = new DefaultRecord();
newRecord.setLogin("admin");
newRecord.setPassword("123");
newRecord.setInfo("info");

Manager.getContext().getStorage().create(newRecord);

IRawData newRaw = Manager.getContext().getEncoder().encodeStruct(Manager.getContext().getStorage(), "123");

Для расшифрования структур данных с логином и паролем необходимо:

IStorage storage = Manager.getContext().getEncoder().decodeStruct(newRaw, "123");
IRecord decodeRecord = storage.getByIndex(0);

В случае использования неправильного пароля для расшифрования, метод decodeStruct вернёт null.

Для сохранения шифрованных структур данных в файловой системе необходимо:

newRaw.save();

Для чтения шифрованных структур данных из файловой системе необходимо:

newRaw.load();

Документация

Документация: link

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages