Haben Sie sich jemals gefragt, ob es einen guten Speicherservice gibt? Aber ist es nicht? Genau da.
:thinking:
GitHub hat ein Limit von 100 MB pro Datei, sodass Sie dies möglicherweise nicht so tun können, wie es ist. Es überrascht nicht, dass ich versucht habe, eine große Datei zu speichern.
Ich möchte den Dateinamen nicht herausfinden und verwalte den Dateinamen auch als Textdatei.
Dann sollten Sie es nach dem Teilen verschlüsseln! Generieren Sie außerdem automatisch eine Korrespondenztabelle zum Umbenennen von Dateien!
Deshalb habe ich [dies] gemacht (https://github.com/nao20010128nao/Cryptorage)
Ich habe keine Dokumentation geschrieben, aber ich denke, es ist nicht schwierig, sie zu verwenden. Lassen Sie es uns in JitPack setzen.
Lassen Sie uns ein Git-Repository erstellen
cd locked/
git init
git remote add origin https://github.com/nao20010128nao/somewhere-secret.git
Ich schreibe alles in Kotlin. Bitte importieren Sie nach com.nao20010128nao.Cryptorage. *
//Geöffnet von lokal
val fs = File("secure/").asFileSource()
//Öffnen Sie aus dem GitHub-Repository
val fs = URL("https://github.com/nao20010128nao/somewhere-secret/raw/inexistent/").asFileSource()
//Speicher erweitern
val fs = newMemoryFileSource()
Jetzt können Sie ein Cryptorage-spezifisches Dateisystem namens "FileSource" erhalten.
AES-128 wird zur Verschlüsselung verwendet. Der Verschlüsselungsschlüssel wird entscheidend vom Passwort abgeleitet.
//Einfacher Kryptospeicher(V1)
val cryptorageV1 = fs.withV1Encryption("Passwort")
//Speicher, der es schwierig machte, selbst den Ort der Korrespondenztabelle zu identifizieren(V2)
val cryptorageV2 = fs.withV2Encryption("Passwort")
Der Einfachheit halber wird nur das Beispiel des Kennworts gezeigt, aber nur für V1 kann "Pair <ByteArray, ByteArray>" als AES-Schlüssel angegeben werden.
Die API von Cryptorage verwendet Guavas ByteSink / ByteSource.
//Verwenden Sie die ByteSink-API
cryptorage.put("filename").write("This is a secret string!!!".toByteArray())
//Mit Ausgabestream verarbeiten
val os = cryptorage.put("filename").openStream()
//Schreiboperation
os.close()
//Von Anfang an
val is = cryptorage.open("filename").openStream()
//Aus der Mitte(Da es geteilt ist, sind die Kosten schon ab der Mitte niedrig)
val is = cryptorage.open("filename", offset).openStream()
//Da es sich um InputStream handelt, scheint es einfach zu sein, wie Sie möchten
cryptorage.list()// Array<String>
cryptorage.delete("filename")
cryptorage.commit()
Da Cryptorage "Closeable" ist, können Sie Closer-Dienstprogramme verwenden.
cryptorage.close()
git add .
git commit -mChanged
git push
Sie können die Datei wie folgt aufteilen, verschlüsseln und auf GitHub speichern. Übrigens scheint die Größe von GitHub pro Zweig begrenzt zu sein. Achten Sie also darauf, diese nicht zu überschreiten, indem Sie den Zweig entsprechend abschneiden.