├── settings.gradle
├── gradle.properties
├── Android-PwdHash.zip
├── .idea
├── copyright
│ └── profiles_settings.xml
├── compiler.xml
├── vcs.xml
├── modules.xml
├── runConfigurations.xml
├── gradle.xml
├── misc.xml
├── jarRepositories.xml
└── codeStyles
│ └── Project.xml
├── gradle
└── wrapper
│ ├── gradle-wrapper.jar
│ └── gradle-wrapper.properties
├── app
├── src
│ ├── main
│ │ ├── res
│ │ │ ├── drawable-hdpi
│ │ │ │ └── icon.png
│ │ │ ├── drawable-ldpi
│ │ │ │ └── icon.png
│ │ │ ├── drawable-mdpi
│ │ │ │ └── icon.png
│ │ │ ├── drawable-xhdpi
│ │ │ │ └── icon.png
│ │ │ ├── drawable-xxhdpi
│ │ │ │ └── icon.png
│ │ │ ├── drawable-xxxhdpi
│ │ │ │ └── icon.png
│ │ │ ├── values
│ │ │ │ ├── theme.xml
│ │ │ │ ├── geometry.xml
│ │ │ │ ├── style.xml
│ │ │ │ └── strings.xml
│ │ │ ├── values-v11
│ │ │ │ ├── theme.xml
│ │ │ │ └── style.xml
│ │ │ ├── values-v21
│ │ │ │ ├── theme.xml
│ │ │ │ ├── geometry.xml
│ │ │ │ └── style.xml
│ │ │ ├── values-ar
│ │ │ │ └── strings.xml
│ │ │ ├── values-nl-rNL
│ │ │ │ └── strings.xml
│ │ │ ├── values-zh-rCN
│ │ │ │ └── strings.xml
│ │ │ ├── values-ko
│ │ │ │ └── strings.xml
│ │ │ ├── values-ja
│ │ │ │ └── strings.xml
│ │ │ ├── values-ca
│ │ │ │ └── strings.xml
│ │ │ ├── values-nb-rNO
│ │ │ │ └── strings.xml
│ │ │ ├── values-tr
│ │ │ │ └── strings.xml
│ │ │ ├── values-cs
│ │ │ │ └── strings.xml
│ │ │ ├── values-pl
│ │ │ │ └── strings.xml
│ │ │ ├── values-pt-rBR
│ │ │ │ └── strings.xml
│ │ │ ├── values-it
│ │ │ │ └── strings.xml
│ │ │ ├── values-uk
│ │ │ │ └── strings.xml
│ │ │ ├── values-ru
│ │ │ │ └── strings.xml
│ │ │ ├── values-hr
│ │ │ │ └── strings.xml
│ │ │ ├── values-vi
│ │ │ │ └── strings.xml
│ │ │ ├── values-ro-rRO
│ │ │ │ └── strings.xml
│ │ │ ├── values-de
│ │ │ │ └── strings.xml
│ │ │ ├── values-el
│ │ │ │ └── strings.xml
│ │ │ ├── values-es
│ │ │ │ └── strings.xml
│ │ │ ├── values-fr
│ │ │ │ └── strings.xml
│ │ │ └── layout
│ │ │ │ └── main.xml
│ │ ├── AndroidManifest.xml
│ │ └── java
│ │ │ └── com
│ │ │ └── uploadedlobster
│ │ │ └── PwdHash
│ │ │ ├── util
│ │ │ ├── Constants.kt
│ │ │ └── Preferences.kt
│ │ │ ├── storage
│ │ │ ├── UpdateHistoryTask.kt
│ │ │ ├── HistoryOpenHelper.kt
│ │ │ └── HistoryDataSource.kt
│ │ │ ├── algorithm
│ │ │ ├── DomainExtractor.kt
│ │ │ └── HashedPassword.kt
│ │ │ └── activities
│ │ │ └── PwdHashApp.kt
│ └── androidTest
│ │ ├── res
│ │ ├── drawable
│ │ │ └── icon.png
│ │ └── values
│ │ │ └── strings.xml
│ │ └── java
│ │ └── com
│ │ └── uploadedlobster
│ │ └── PwdHash
│ │ ├── utils
│ │ └── ToastMatcher.java
│ │ ├── PreferencesTest.java
│ │ ├── DomainExtractorTest.java
│ │ ├── HashedPasswordTest.java
│ │ └── MainActivityTest.java
├── lint.xml
└── build.gradle
├── TODO
├── .gitignore
├── README.md
├── LICENSE
├── gradlew.bat
├── design
├── feature-graphic.svg
└── icon.svg
├── ChangeLog
└── gradlew
/settings.gradle:
--------------------------------------------------------------------------------
1 | include ':app'
2 |
--------------------------------------------------------------------------------
/gradle.properties:
--------------------------------------------------------------------------------
1 | android.enableJetifier=true
2 | android.useAndroidX=true
--------------------------------------------------------------------------------
/Android-PwdHash.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phw/Android-PwdHash/HEAD/Android-PwdHash.zip
--------------------------------------------------------------------------------
/.idea/copyright/profiles_settings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/gradle/wrapper/gradle-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phw/Android-PwdHash/HEAD/gradle/wrapper/gradle-wrapper.jar
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phw/Android-PwdHash/HEAD/app/src/main/res/drawable-hdpi/icon.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-ldpi/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phw/Android-PwdHash/HEAD/app/src/main/res/drawable-ldpi/icon.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-mdpi/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phw/Android-PwdHash/HEAD/app/src/main/res/drawable-mdpi/icon.png
--------------------------------------------------------------------------------
/app/src/androidTest/res/drawable/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phw/Android-PwdHash/HEAD/app/src/androidTest/res/drawable/icon.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phw/Android-PwdHash/HEAD/app/src/main/res/drawable-xhdpi/icon.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phw/Android-PwdHash/HEAD/app/src/main/res/drawable-xxhdpi/icon.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxxhdpi/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phw/Android-PwdHash/HEAD/app/src/main/res/drawable-xxxhdpi/icon.png
--------------------------------------------------------------------------------
/app/src/androidTest/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Password HashTest
4 |
5 |
--------------------------------------------------------------------------------
/app/src/main/res/values/theme.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/res/values-v11/theme.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/.idea/compiler.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/.idea/vcs.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/TODO:
--------------------------------------------------------------------------------
1 | * Copy to clipboard and open browser
2 | * Allow cleartext password field
3 | * Better notify user about empty input (flash/animate the TextEdit)
4 | * Place Password Hash in notification area for quick access
--------------------------------------------------------------------------------
/app/src/main/res/values-v21/theme.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | *.iml
2 | .gradle
3 | /local.properties
4 | /.idea/caches
5 | /.idea/workspace.xml
6 | /.idea/libraries
7 | .DS_Store
8 | Thumbs.db
9 | build/
10 | app/release/
11 | /captures
12 | .externalNativeBuild
13 | *~
14 |
--------------------------------------------------------------------------------
/app/src/main/res/values/geometry.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 448dp
4 | 12dp
5 | 4dp
6 |
7 |
--------------------------------------------------------------------------------
/app/src/main/res/values-v21/geometry.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 448dp
4 | 24dp
5 | 8dp
6 |
7 |
--------------------------------------------------------------------------------
/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | #Fri Sep 27 15:15:10 CEST 2019
2 | distributionBase=GRADLE_USER_HOME
3 | distributionPath=wrapper/dists
4 | zipStoreBase=GRADLE_USER_HOME
5 | zipStorePath=wrapper/dists
6 | distributionUrl=https\://services.gradle.org/distributions/gradle-6.7.1-all.zip
7 |
--------------------------------------------------------------------------------
/app/lint.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/app/src/main/res/values-ar/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Password Hash
4 | Site address
5 | http://example.com
6 | كلمة المرور
7 | Hash:
8 | نسخ
9 |
--------------------------------------------------------------------------------
/app/src/main/res/values/style.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/.idea/modules.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/app/src/main/res/values-nl-rNL/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Wachtwoord hash
4 | Website adres
5 | http://www.example.nl
6 | Wachtwoord
7 | Hash:
8 | Kopiëren
9 | Wachtwoord gekopieerd naar het klembord
10 |
--------------------------------------------------------------------------------
/app/src/main/res/values-v11/style.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
10 |
11 |
14 |
15 |
--------------------------------------------------------------------------------
/app/src/main/res/values-zh-rCN/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 密码加密
4 | 根据网址生成密码的小工具,可以通过浏览器的“分享页面”选项激活,或直接使用。与pwdhash.com生成的密码兼容。
5 | 本应用是自由软件,使用开源协议发布。
6 | 网址
7 | http://example.com
8 | 原始密码
9 | 加密密码
10 | 复制
11 | 密码已复制到剪贴板
12 |
13 |
--------------------------------------------------------------------------------
/app/src/main/res/values-v21/style.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
13 |
14 |
--------------------------------------------------------------------------------
/app/src/main/res/values-ko/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 비밀번호 생성기
4 | 훔쳐가기 힘든 암호를 웹 사이트 별로 생성하는 가벼운 도구입니다. 안드로이드 웹 브라우저에서 \"공유\" 옵션을 사용하거나, Password Hash를 바로 실행하시면 사용하실 수 있습니다. pwdhash.com과 호환됩니다.
5 |
6 | 이 앱은 오픈소스 라이선스 적용을 받는 무료 소프트웨어입니다.
7 | 사이트 주소
8 | http://example.com
9 | 비밀번호
10 | 생성된 비밀번호:
11 | 복사
12 | 비밀번호가 클립보드로 복사되었습니다
13 |
--------------------------------------------------------------------------------
/app/src/main/res/values-ja/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Password Hash
4 | ウェブサイトを指定して、盗難耐性パスワードを生成する、軽量のツールです。Android のブラウザから \"ページを共有\" オプションを使用するだけです。Password Hash を直接開くこともできます。 pwdhash.com と互換性があります。
5 |
6 | このアプリはオープンソースライセンスで公開されるフリーソフトウェアです。
7 | サイトアドレス
8 | http://example.com
9 | パスワード
10 | ハッシュ:
11 | コピー
12 | パスワードをクリップボードにコピーしました
13 |
--------------------------------------------------------------------------------
/.idea/runConfigurations.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
12 |
13 |
--------------------------------------------------------------------------------
/app/src/main/res/values-ca/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Password Hash
4 | Aplicació per generar contrasenyes segures per llocs web. Feu servir \"Compartir\" al vostre navegador Android o obriu Password Hash directament. Compatible amb pwdhash.com.
5 |
6 | Aplicación es distribueix lliurement sota llicencia open source.
7 | Lloc web
8 | http://example.com
9 | Password
10 | Hash:
11 | Copiar
12 | Contrasenya copiada al portapapers
13 |
14 |
--------------------------------------------------------------------------------
/app/src/main/res/values-nb-rNO/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Passordsjekksum
4 | Et lett verktøy for å generere nettsidespesifikke, tyverisikre passord. Trykk på \"Del side\" i Android-nettleseren eller åpne Passordsjekksum direkte. Kompatibelt med pwdhash.com.
5 |
6 | Dette programmet er publisert med en friprog-lisens.
7 | Sideadresse
8 | http://eksempel.no
9 | Passord
10 | Sjekksum:
11 | Kopier
12 | Passord kopiert til utklippstavle
13 |
--------------------------------------------------------------------------------
/app/src/main/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Password Hash
4 | Lightweight tool to generate website specific, theft-resistant passwords. Just use the "Share page" option in the Android browser or open Password Hash directly. Compatible with pwdhash.com.
5 |
6 | This app is free software published under an open source license.
7 | Site address
8 | http://example.com
9 | Password
10 | Hash:
11 | Copy
12 | Password copied to clipboard
13 |
--------------------------------------------------------------------------------
/app/src/main/res/values-tr/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Şifre Hash
4 | Özel web sitesi oluşturmak, hırsızlığa dayanıklı şifre yaratmak için hafif bir araçtır. Android tarayıcısında \'Paylaş\' butonunu kullanın veya Şifre Hash\'ı doğrudan açın. pwdhash.com ile uyumludur.
5 |
6 | Bu uygulama açık kaynak lisansı altında yayınlanan ücretsiz bir yazılımdır.
7 | Site adresi
8 | http://ornek.com
9 | Şifre
10 | Hash:
11 | Kopyala
12 | Şifre panoya kopyalandı
13 |
--------------------------------------------------------------------------------
/app/src/main/res/values-cs/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Password Hash
4 | Jednoduchý nástroj pro generování hesel odolných proti krádeži. Stačí použít možnost „Sdílet stránku“ v Android prohlížeči nebo přímo otevřít Password Hash. Kompatibilní s psdhash.com.
5 |
6 | Tato aplikace je svobodný software publikovaný pod open source licencí.
7 | Adresa stránky
8 | http://example.com
9 | Heslo
10 | Hash:
11 | Zkopírovat
12 | Heslo bylo zkopírováno do schránky
13 |
--------------------------------------------------------------------------------
/app/src/main/res/values-pl/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Hash hasła
4 | Lekkie narzędzie do generowania antywłamaniowy, konkretnych haseł do stron. Wystarczy skorzystać z opcji \"Poleć stronę\" w przeglądarce Android lub otworzyć Hash hasło bezpośrednio. Kompatybilne z pwdhash.com.
5 |
6 | Ta aplikacja jest darmowym oprogramowaniem na licencji open source.
7 | Adres strony
8 | http://przyklad.pl
9 | Hasło
10 | Hash:
11 | Kopiuj
12 | Hasło skopiowane do schowka
13 |
--------------------------------------------------------------------------------
/app/src/main/res/values-pt-rBR/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Password Hash
4 | Aplicativo para geração de senhas seguras para a internet. Use a opção \"Compartilhar página\" no navegador do Android ou abra Password Hash diretamente. Compatível com pwdhash.com.
5 |
6 | Este aplicativo é um software livre, lançado sob de código aberto.
7 | Endereço do site
8 | http://exemplo.com
9 | Senha
10 | Senha segura:
11 | Copiar
12 | Senha copiada para a área de transferência
13 |
--------------------------------------------------------------------------------
/app/src/main/res/values-it/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Password Hash
4 | Strumento leggero per generare password a prova di furto, specifiche per il web. Usa solo l\'opzione \"Condividi pagina\" nel tuo browser Android o apri direttamente Password Hash. Compatibile con pwdhash.com
5 |
6 | Questa app è software libero pubblicato sotto una licenza open source.
7 | Indirizzo del sito
8 | http://example.com
9 | Password
10 | Hash:
11 | Copia
12 | Password copiata negli appunti
13 |
--------------------------------------------------------------------------------
/app/src/main/res/values-uk/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Password Hash
4 | Зручний інструмент для створення надійних паролів, прив\'язаних до конкретних сайтів. Просто використовуйте опцію \"Поділитись сторінкою\" в браузері або введіть дані прямо в Password Hash. Повністю сумісний з pwdhash.com.
5 | Цей додаток безкоштовний і поширюється під відкритою ліцензією.
6 | Адреса сайту
7 | http://example.com
8 | Пароль
9 | Хеш:
10 | Копіювати
11 | Пароль скопійований в буфер обміну
12 |
--------------------------------------------------------------------------------
/app/src/main/res/values-ru/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Password Hash
4 | Удобный инструмент для создания паролей, привязанных к конкретным сайтам, из одного мастер-пароля. Просто используйте опцию \"Отправить страницу\" в браузере или вручную введите данные в Password Hash. Полностью совместим с pwdhash.com.
5 |
6 | Это приложение бесплатное и распространяется под открытой лицензией.
7 | Адрес сайта
8 | http://example.com
9 | Пароль
10 | Хеш:
11 | Копировать
12 | Пароль скопирован в буфер обмена
13 |
14 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | Android PwdHash
2 | ===============
3 |
4 | Description
5 | -----------
6 | Lightweight tool to generate website specific, theft-resistant passwords. Just
7 | use the "Share page" option in the Android browser or open Password Hash
8 | directly. Based upon and compatible with pwdhash.com.
9 |
10 | License
11 | -------
12 | Android PwdHash is free software published under a BSD style open source license.
13 | See LICENSE for details.
14 |
15 | Translations
16 | ------------
17 | You can help translate this project into your language. Please visit the Android PwdHash
18 | localization project on https://translate.uploadedlobster.com/engage/android-pwdhash/
19 |
20 | Known Issues
21 | -----------
22 | * Android PwdHash does not allow empty passwords for generating the hash, while
23 | pwdhash.com does.
24 |
25 | Author
26 | ------
27 | Philipp Wolfer
28 |
--------------------------------------------------------------------------------
/app/src/main/res/values-hr/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Password Hash
4 | Lagani alat za generiranje posebnih, otpornih na krađu lozinki. Samo iskoristite \"Share page\" opciju u Android Pretraživaču ili izravno otvorite Password Hash. Kompatibilno sa pwdhash.com
5 |
6 | Ova aplikacija je besplatan software izdan pod open-source licencom. (Preveo: Marijan Smetko, Novska, Hrvatska)
7 | Adresa stranice
8 | http://example.com
9 | Lozinka
10 | Hash:
11 | Kopiraj
12 | Lozinka je kopirana u međuspremnik
13 |
--------------------------------------------------------------------------------
/app/src/main/res/values-vi/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Mã hóa mật khẩu
4 | Là công cụ gọn nhẹ để nhúng vào các website, chống khả năng dòm trộm mật khẩu. Chỉ sử dụng tùy chọn \"Trang chia sẻ\" trong trình duyệt Android hoặc tác động đến việc hash hay còn gọi là băm mật khẩu trực tiếp. Tương thích với pwdhash.com.
5 |
6 | Phần mềm này được phân phối dưới dạng giấy phép mã nguồn mở.
7 | Địa chỉ trang web
8 | http://thídụ.com
9 | Mật khẩu
10 | Mã khóa:
11 | Sao chép
12 | Mật khẩu đã được lưu vào bộ nhớ ảo
13 |
--------------------------------------------------------------------------------
/app/src/main/res/values-ro-rRO/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Password Hash
4 | Un instrument lejer pentru generarea de parole rezistente la fraude, şi specifice site-urilor web. Trebuie doar să folosiţi opţiunea \"Partajare pagină\" din browserul Android, sau deschideţi direct Password Hash. Compatibil cu pwdhash.com.
5 |
6 | Această aplicaţie este un program gratuit publicat sub licenţă open source.
7 | Adresa sitului
8 | http://example.com
9 | Parola
10 | Hash:
11 | Copiere
12 | Parolă copiată în clipboard
13 |
--------------------------------------------------------------------------------
/app/src/main/res/values-de/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Password Hash
4 | Leichtgewichtiges Tool zum Erzeugen von diebstahlsicheren Passwörtern. Password Hash kann einfach über die \"Seitenlink weiterleiten\" Option im Browser oder direkt gestartet werden. Kompatibel mit pwdhash.com.
5 |
6 | Diese App ist freie Software, die unter einer Open-Source-Lizenz bereitgestellt wird.
7 | Adresse der Webseite
8 | http://example.com
9 | Passwort
10 | Hash:
11 | Kopieren
12 | Das Passwort wurde in die Zwischenablage kopiert
13 |
--------------------------------------------------------------------------------
/app/src/main/res/values-el/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Password Hash
4 | Ελαφρύ εργαλείο για να δημιουργήσει ιστοσελίδα συγκεκριμένη, κλοπή ανθεκτικών κωδικών πρόσβασης. Απλά χρησιμοποιήστε την \"Κοινή χρήση σελίδας\" στο πρόγραμμα περιήγησης Android ή ανοιχτό Hash κωδικό άμεσα. Συμβατό με pwdhash.com
5 |
6 | Αυτή η εφαρμογή είναι δωρεάν λογισμικό δημοσιευμένο με άδεια ανοιχτού κώδικα.
7 | Διεύθυνση ιστοσελίδας
8 | http://example.com
9 | Κωδικός
10 | Δίεση:
11 | Αντιγραφή
12 | Ο κωδικός αντιγράφεται στο πρόχειρο
13 |
--------------------------------------------------------------------------------
/app/src/main/res/values-es/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Password Hash
4 | Herramienta ligera para generar contraseñas resistentes al robo, para sitios web específicos. Simplemente use la opción \"Compartir página\" en el navegador de Android, o directamente abra Password Hash. Compatible con pwdhash.com
5 |
6 | Esta aplicación es software libre publicado bajo una licencia de código abierto.
7 | Dirección del sitio
8 | http://example.com
9 | Contraseña
10 | Hash:
11 | Copiar
12 | Contraseña copiada al portapapeles
13 |
--------------------------------------------------------------------------------
/.idea/gradle.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/app/src/main/res/values-fr/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Mot de passe chiffré
4 | Utilitaire léger pour générer des mots de passe fiables contre les intrusions et spécifiques aux sites Web. Utiliser simplement l\'option « Partager page » dans le navigateur Android ou ouvrir Mot de passe chiffré directement. Compatible avec pwdhash.com.
5 |
6 | Cette appli est un logiciel gratuit publié sous licence « open source ».
7 | Adresse du site
8 | http://exemple.com
9 | Mot de passe
10 | Mot de passe chiffré :
11 | Copier
12 | Le mot de passe a été copié dans le presse-papiers
13 |
14 |
--------------------------------------------------------------------------------
/app/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
10 |
11 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/app/src/androidTest/java/com/uploadedlobster/PwdHash/utils/ToastMatcher.java:
--------------------------------------------------------------------------------
1 | package com.uploadedlobster.PwdHash.utils;
2 |
3 | import android.os.IBinder;
4 | import androidx.test.espresso.Root;
5 | import android.view.WindowManager;
6 |
7 | import org.hamcrest.Description;
8 | import org.hamcrest.TypeSafeMatcher;
9 |
10 | class ToastMatcher extends TypeSafeMatcher {
11 |
12 | @Override
13 | public void describeTo(Description description) {
14 | description.appendText("is toast");
15 | }
16 |
17 | @Override
18 | public boolean matchesSafely(Root root) {
19 | int type = root.getWindowLayoutParams().get().type;
20 | if ((type == WindowManager.LayoutParams.TYPE_TOAST)) {
21 | IBinder windowToken = root.getDecorView().getWindowToken();
22 | IBinder appToken = root.getDecorView().getApplicationWindowToken();
23 | if (windowToken == appToken) {
24 | //means this window isn't contained by any other windows.
25 | return true;
26 | }
27 | }
28 | return false;
29 | }
30 | }
--------------------------------------------------------------------------------
/app/build.gradle:
--------------------------------------------------------------------------------
1 | apply plugin: 'com.android.application'
2 | apply plugin: 'kotlin-android'
3 |
4 | android {
5 | compileSdkVersion 31
6 | buildToolsVersion '30.0.3'
7 | defaultConfig {
8 | applicationId "com.uploadedlobster.PwdHash"
9 | minSdkVersion 17
10 | targetSdkVersion 31
11 | testInstrumentationRunner 'androidx.test.runner.AndroidJUnitRunner'
12 | versionCode 26
13 | versionName '1.3.15'
14 | }
15 | buildTypes {
16 | release {
17 | minifyEnabled false
18 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
19 | }
20 | }
21 | return void
22 | }
23 |
24 | dependencies {
25 | testImplementation 'junit:junit:4.13.2'
26 | androidTestImplementation 'androidx.annotation:annotation:1.2.0'
27 | androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
28 | androidTestImplementation 'androidx.test.ext:junit:1.1.3'
29 | implementation "androidx.core:core-ktx:1.6.0"
30 | implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
31 | }
32 |
--------------------------------------------------------------------------------
/app/src/androidTest/java/com/uploadedlobster/PwdHash/PreferencesTest.java:
--------------------------------------------------------------------------------
1 | package com.uploadedlobster.PwdHash;
2 |
3 | import android.content.Context;
4 | import androidx.test.platform.app.InstrumentationRegistry;
5 | import androidx.test.ext.junit.runners.AndroidJUnit4;
6 |
7 | import com.uploadedlobster.PwdHash.util.Preferences;
8 |
9 | import org.junit.Test;
10 | import org.junit.runner.RunWith;
11 |
12 | import static org.junit.Assert.assertEquals;
13 | import static org.junit.Assert.assertNotEquals;
14 |
15 | @RunWith(AndroidJUnit4.class)
16 | public class PreferencesTest {
17 | @Test
18 | public void testSaveSiteAddress() {
19 | final Context context = InstrumentationRegistry.getTargetContext();
20 | Preferences preferences = new Preferences(context);
21 |
22 | String urlToSave = "https://www.example.com/storage-test";
23 | String urlLoaded = preferences.getSavedSiteAddress();
24 |
25 | assertNotEquals(urlToSave, urlLoaded);
26 |
27 | preferences.setSavedSiteAddress(urlToSave);
28 | urlLoaded = preferences.getSavedSiteAddress();
29 | assertEquals(urlToSave, urlLoaded);
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | PwdHash for Android is Copyright (c) 2010-2011 Philipp Wolfer
2 |
3 | Redistribution and use in source and binary forms, with or without
4 | modification, are permitted provided that the following conditions
5 | are met:
6 | 1. Redistributions of source code must retain the above copyright
7 | notice, this list of conditions and the following disclaimer.
8 | 2. Redistributions in binary form must reproduce the above copyright
9 | notice, this list of conditions and the following disclaimer in the
10 | documentation and/or other materials provided with the distribution.
11 | 3. Neither the name of PwdHash for Android nor the names of the
12 | contributors may be used to endorse or promote products derived from
13 | this software without specific prior written permission.
14 |
15 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
16 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
17 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
18 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
19 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
20 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
21 | TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
22 | PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
23 | LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
24 | NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
25 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26 |
--------------------------------------------------------------------------------
/.idea/misc.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |