Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Argon2 を用いたハッシュ生成機能を提供するライブラリを pub.dev に公開した話 / Flutter Plugin Argon2 algorithm

Argon2 を用いたハッシュ生成機能を提供するライブラリを pub.dev に公開した話 / Flutter Plugin Argon2 algorithm

Flutter Tokyo Meetup #16 の LT 資料です!

Takahiro Ikeuchi

August 11, 2021
Tweet

More Decks by Takahiro Ikeuchi

Other Decks in Programming

Transcript

  1. © 2021 iktakahiro 池内 孝啓(いけうち たかひろ) 株式会社Hakali 取締役CTO • @iktakahiro

    • https://github.com/iktakahiro Flutter 歴2.5年, Go, TypeScript, Python
  2. © 2021 iktakahiro おしながき 1. Argon 2 とは 2. fargon2

    の概要 3. MethodChannel を活かしたパッケージづくりにまつわる Tips 4. 課題と困っていること ※ 本日のスライドはLT後にシェアいたします
  3. © 2021 iktakahiro Argon2 とは? • あるごん・つー • 鍵導出(Key Derivation)関数の1つ

    • 2015年に開催された Password Hash Competition にて優勝 • パスワードハッシュの生成や、AES で用いる key の生成に利用できる • https://github.com/P-H-C/phc-winner-argon2 ※ Argon2 そのものの解説ではないので、詳細は割愛!
  4. © 2021 iktakahiro 今回つくったもの : fargon2 とは? • ふぁるごん・つー •

    Argon2 のハッシュ生成関数を Flutter アプリ上で気軽に扱えるように したもの • 以下の2つのライブラリの Wrapper ◦ Swift 実装 : CatCrypto ◦ Kotlin 実装 : argon2kt • Platform Specific なコードを実行するために MethodChannel を利用
  5. © 2021 iktakahiro MethodChannel とは? • Writing custom platform-specific code

    • Flutter, Dart コードをつうじて iOS / Android ネイティブなコードや機能を 呼び出す仕組み ※ 概要については解説が多いので本日は割愛!
  6. © 2021 iktakahiro MethodChannel を利用したプラグインを実装する流れ 1. プラグイン用に Flutter プロジェクトを作成 2.

    Dart のコードを書く 3. Android 用のコードを書く(今回は Kotlin) 4. iOS 用のコードを書く(今回は Swift) 5. 公開!
  7. © 2021 iktakahiro 5. 公開! • dart pub publish !!

    • コードコメントや example の 有無などで PUB POINTS が変動
  8. © 2021 iktakahiro 課題と困っていること • テストが書けない ◦ そんな馬鹿なと思ったけど、書けない ◦ setMockMethodCallHandler()

    のコレジャナイ感 • Xcode のプロジェクトファイルがないので、Xcode で書けない ◦ そんな馬鹿なと思ったけど、書けない 解決策求む!!