QRSA OTP Authentication

1K+
เดกเต—เตบเดฒเต‹เดกเตเด•เตพ
เด‰เดณเตเดณเดŸเด•เตเด• เดฑเต‡เดฑเตเดฑเดฟเด‚เด—เต
เดŽเดฒเตเดฒเดพเดตเตผเด•เตเด•เตเด‚
เดธเตโ€Œเด•เตเดฐเต€เตปเดทเต‹เดŸเตเดŸเต เดšเดฟเดคเตเดฐเด‚
เดธเตโ€Œเด•เตเดฐเต€เตปเดทเต‹เดŸเตเดŸเต เดšเดฟเดคเตเดฐเด‚

เดˆ เด†เดชเตเดชเดฟเดจเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเต

เด‡เดคเต†เดพเดฐเต เดชเต†เดพเดคเต เด•เต€ เด‰เดชเดฏเต‡เดพเด—เดฟเดšเตเดšเต เดธเต†เตผเดตเตผ เดŽเตปเด•เตเดฐเดฟเดชเตเดฑเตเดฑเต เด’เดฑเตเดฑเดคเตเดคเดตเดฃ เดชเดพเดธเตเดตเต‡เดกเต เด—เต‚เดขเดญเดพเดทเดพ เดตเดดเดฟ เด…เดตเดฐเตเดŸเต† เดธเต†เตฝ เดซเต‡เดพเตบ เดตเดดเดฟ เด‰เดชเดฏเต‡เดพเด•เตเดคเดพเด•เตเด•เดณเต† เด†เดงเดพเดฐเต€เด•เดฐเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต เด’เดฐเต เด…เดชเตเดฒเดฟเด•เตเด•เต‡เดทเตป เด†เดฃเต. เด…เดชเตเดฒเดฟเด•เตเด•เต‡เดทเตป เด†เดงเดฟเด•เดพเดฐเดฟเด•เดค เดˆ เดฐเต€เดคเดฟ เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เตเดจเตเดจ เดเดคเต†เด™เตเด•เดฟเดฒเตเด‚ เดตเต†เดฌเต เดธเต‡เดตเดจเดคเตเดคเดฟเดจเดพเดฏเดฟ เด‰เดชเดฏเต‡เดพเด—เดฟเด•เตเด•เดพเตป เด•เดดเดฟเดฏเดฟเดฒเตเดฒ.
(เดธเต†เตผเดตเตผ เดธเตˆเดกเต เดˆ เด†เดงเดฟเด•เดพเดฐเดฟเด•เดค เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เดพเตป เดธเด‚เดฌเดจเตเดงเดฟเดšเตเดš เด•เต‚เดŸเตเดคเตฝ เดตเดฟเดตเดฐเด™เตเด™เตพเด•เตเด•เต เดธเดพเดฎเต‚เดนเดฟเด•เด‚ เดŸเตเดฐเดพเด•เตเด•เตผ เด•เดพเดฃเตเด•)
เดชเต‡เดพเดฒเต† เด’เดฐเต‡ เดชเต†เดพเดคเต เด•เต€ เดŽเดฒเตเดฒเดพ เดชเดพเตผเดŸเตเดŸเดฟเด•เดณเตเด‚ เด‰เดชเดฏเต‡เดพเด—เดฟเด•เตเด•เดพเดฑเตเดฃเตเดŸเต เด…เดชเตเดฒเดฟเด•เตเด•เต‡เดทเตป, เด†เดถเตเดฐเดฏเดฟเด•เตเด•เดพเดคเต† เดชเดพเตผเดŸเตเดŸเดฟเด•เตพ เดชเดฐเดฟเดงเดฟเด•เดณเดฟเดฒเตเดฒเดพเดคเต† เด‰เดชเดฏเต‡เดพเด—เดฟเด•เตเด•เดพเดจเดพเด•เต‚. เด…เดชเตเดฒเดฟเด•เตเด•เต‡เดทเตป เดšเต‡เตผเดคเตเดคเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจ เด•เดดเดฟเดžเตเดžเดพเตฝ, เด…เดชเตเดฒเดฟเด•เตเด•เต‡เดทเตป เด…เดชเตเดฒเดฟเด•เตเด•เต‡เดทเตป (เด…เดคเดฟเดจเตเดฑเต† เด‡เตปเดธเตเดฑเตเดฑเต‡เดพเตพ เดตเดฐเต†) เดฎเตเดดเตเดตเตป เดœเต€เดตเดฟเดคเด•เดพเดฒเดคเตเดคเต† เด‡เดชเตเดชเต‡เดพเดดเดคเตเดคเต† เด’เดฐเต เด‰เดชเด•เดฐเดฃ-เดจเดฟเตผเดฆเดฟเดทเตเดŸ keypair เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเดจเตเดจเต. เด…เดชเตเดฒเดฟเด•เตเด•เต‡เดทเตป เดชเดฐเดฟเดทเตเด•เดฐเดฟเด•เตเด•เตเดจเตเดจเต เดŽเดจเตเดจเดพเตฝ เด•เต€ เดฎเดพเดฏเตเด•เตเด•เดพเตป เดšเต†เดฏเตเดฏเตเด‚.

เดธเดพเดฎเต‚เดนเดฟเด•เด‚ เดŸเตเดฐเดพเด•เตเด•เตผ: https://github.com/sebastiannielsen/QRSA

เด…เดชเตเดฒเดฟเด•เตเด•เต‡เดทเตป เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจ เดฎเตเตปเด‰เดชเดพเดงเดฟเด•เตพ:
1. เดซเต‡เดพเตบ เดนเดพเตผเดกเตเดตเต†เดฏเตผ เด…เดŸเดฟเดธเตเดฅเดพเดจเดคเตเดคเดฟเดฒเตเดณเตเดณ เดธเด‚เดญเดฐเดฃเด‚ เดชเดฟเดจเตเดคเตเดฃเดฏเตเด•เตเด•เดฃเด‚. เดˆ เด…เดธเดพเดงเตเดฏเดฎเดพเดฃเต เดซเต‡เดพเตบ เด“เดซเต เด•เต€ เดชเด•เตผเดคเตเดคเดพเดจเตเด‚ making, เดซเต‡เดพเตบ เด‰เดณเตเดณเดฟเตฝ เด’เดฐเต "เดธเตเดฐเด•เตเดท เดšเดฟเดชเตเดชเต" เด‰เดชเดฏเต‡เดพเด—เดฟเด•เตเด•เตเดจเตเดจ เด’เดฐเต เดธเด‚เดญเดฐเดฃเด‚.
2. เดธเตเดฑเตเดฑเต‡เดพเตผ เด†เดฐเด‚เดญเดฟเด•เตเด•เต‡เดฃเตเดŸเดคเดพเด•เตเดจเตเดจเต. เด’เดฐเต เดชเดฟเตป เดฒเต‡เดพเด•เตเด•เต เดธเตเด•เตเดฐเต€เตป เดธเดœเตเดœเต€เด•เดฐเดฟเด•เตเด•เตเดจเตเดจเดคเต, เดคเตเดŸเตผเดจเตเดจเต เดตเต†เดฑเตเด‚ เด’เดฐเต เด•เต€ เด‰เดฃเตเดŸเดพเด•เตเด•เตเดจเตเดจเดคเต เดธเด‚เดญเดฐเดฃเดฟ เดคเตเดŸเด™เตเด™เดพเดจเต เดšเดฟเดฒเดชเตเดชเต‡เดพเตพ เด…เดคเดฟเดจเตเดฑเต† เดธเดพเดงเตเดฏเดค. เดฒเต‡เดพเด•เตเด•เต เดธเตเด•เตเดฐเต€เตป เดจเต€เด•เตเด•เด‚เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเต เดธเดพเดงเดพเดฐเดฃเดฏเดพเดฏเดฟ เด•เต€ เด‰เดณเตเดณ เดฒเต‡เดพเด•เตเด•เต เดธเตเด•เตเดฐเต€เตป เด†เดตเดถเตเดฏเดฎเดพเดฏ เดธเดœเตเดœเต€เด•เดฐเดฟเด•เตเด•เตเด•เดฏเดพเดฃเต เดšเต†เดฏเตเดคเดพเตฝ, เด•เต€ เดธเต‚เด•เตเดทเดฟเด•เตเด•เตเด‚.
3. เดšเดฟเดฒ เดธเดพเดนเดšเดฐเตเดฏเด™เตเด™เดณเดฟเตฝ, เด’เดฐเต เดธเตเดฐเด•เตเดทเดฟเดค เดฒเต‡เดพเด•เตเด•เต เดธเตเด•เตเดฐเต€เตป เด‰เดชเดฏเต‡เดพเด—เดฟเด•เตเด•เดพเดตเต‚. เดˆ เดซเต‡เดพเตบ เดฎเต‡เดพเดกเตฝ เด†เดถเตเดฐเดฏเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต.
4. เดซเต‡เดพเตบ เด…เด•เดคเตเดคเต เดธเตเดฐเด•เตเดทเดฟเดค เดšเดฟเดชเตเดชเต, 2048 RSA / เด‡เดคเดฟเดจเต†เดคเดฟเดฐเต† / PKCS1.5 เด…เดŸเดฟเดธเตเดฅเดพเดจเดฎเดพเด•เตเด•เดฟ เด“เดชเตเดชเดฑเต‡เดทเตปเดธเต เดชเดฟเดจเตเดคเตเดฃเดฏเตเด•เตเด•เดฃเด‚
5. เดšเดฟเดฒ เด•เต‡เดธเตเด•เดณเดฟเตฝ, เดจเดฟเตผเดฎเตเดฎเต‚เดฒเดจเดพเดถเด‚ เดซเต‡เดพเตบ เดถเดพเดถเตเดตเดคเดฎเดพเดฏเดฟ เดธเตเดฐเด•เตเดทเดพ เด•เดพเดฐเดฃเด™เตเด™เดณเดพเตฝ เดธเตเดฐเด•เตเดทเดพ เดšเดฟเดชเตเดชเต เด…เดชเตเดฐเดพเดชเตเดคเดฎเดพเด•เตเด•เดฟเดฏเต‡เด•เตเด•เดพเด‚.

เด’เดฐเต เดฌเตเดฐเต—เดธเตผ เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ similiar เดจเดฟเดจเตเดจเต // เด‡: เดšเต‡เตผเด•เตเด•เตเดจเตเดจเดคเดฟเดจเดพเดฏเดฟ เดจเดฟเด™เตเด™เตพเด•เตเด•เต URL qrsa เดคเตเดŸเด™เตเด™เตเดตเดพเดจเตเดณเตเดณ เดตเต‡เดฃเด‚. // U: เดจเดฟเด™เตเด™เตพเด•เตเด•เต qrsa เด‰เดชเดฏเต‡เดพเด—เดฟเดšเตเดšเต เด’เดฐเต เด•เต‡เดพเตพเดฌเดพเด•เตเด•เต URL เดตเดดเดฟ เดŽเตปเดฑเต‡เดพเตพ เด•เดดเดฟเดฏเตเด‚. U เด‰เดชเดฏเต‡เดพเด—เดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต, เดจเดฟเด™เตเด™เตพ เด†เดฆเตเดฏเด‚ เด’เดฐเต "เด™เตเด™เตพ" เดจเดฟเด™เตเด™เตพ https เด‰เดชเดฏเต‡เดพเด—เดฟเด•เตเด•เดพเตป เด†เด—เตเดฐเดนเดฟเด•เตเด•เตเดจเตเดจ, HTTP เดตเต‡เดฃเตเดŸเดฟ เดฎเดฑเตเดฑเต†เดจเตเดคเต†เด™เตเด•เดฟเดฒเตเด‚ เด•เต‚เดŸเตเดŸเดฟเดšเตเดšเต‡เตผเด•เตเด•เดพเตป, เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ. เด…เดชเตเดชเต‡เดพเตพ เดฎเตเดดเตเดตเตป เดฏเตเด†เตผเดŽเตฝ, URLSafe เดฌเต‡เดธเต64- เดซเต‡เดพเตผเดฎเดพเดฑเตเดฑเดฟเตฝ เดชเดฆเตเดงเดคเดฟ เด‡เดฒเตเดฒเดพเดคเต† เดตเดฟเดณเดฟเด•เตเด•เดชเตเดชเต†เดŸเตเดตเดพเตป. เดชเต†เดพเดคเต เด•เต€ เดฏเตเด†เตผเดŽเตฝ เด…เดตเดธเดพเดจเด‚ เดšเต‡เตผเด•เตเด•เดชเตเดชเต†เดŸเตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเด‚. เด‰เดชเด•เดฐเดฃเด‚ เดชเต†เดพเดฐเตเดคเตเดคเดชเตเดชเต†เดŸเตเดจเตเดจเดฟเดฒเตเดฒ, เด…เดคเต เด‰เดชเดฏเต‡เดพเด•เตเดคเดพเดตเดฟเดจเต เด…เตผเดคเตเดฅเดตเดคเตเดคเดพเดฏ เดชเดฟเดถเด•เต เดธเดจเตเดฆเต‡เดถเด‚ เดฎเดŸเด™เตเด™เดพเตป INCOMPATIBLE_DEVICE เด…เดคเดฟเดจเตเดฑเต† เดจเดฟเด™เตเด™เดณเตเดŸเต† เด‰เดคเตเดคเดฐเดตเดพเดฆเดฟเดคเตเดตเด‚ เดฎเดŸเด™เตเด™เดฟเดตเดฐเตเด‚.

// S เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ qrsa: เด…เด‚เด—เต€เด•เดฐเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเดพเดฏเดฟ เดจเดฟเด™เตเด™เตพเด•เตเด•เต URL qrsa เดคเตเดŸเด™เตเด™เตเดตเดพเดจเตเดณเตเดณ // เดธเดฟ URLSafe เดฌเต‡เดธเต64- เดชเดฟเดจเตเดจเดพเดฒเต† เดŽเตปเด•เตเดฐเดฟเดชเตเดฑเตเดฑเต เดซเต‡เดพเตผเดฎเดพเดฑเตเดฑเต padding เดŸเต†เด•เตเดธเตเดฑเตเดฑเต :: เดตเดฏเดฟเด•เตเด•เดพเตป :: เดธเดจเตเดฆเต‡เดถเด‚ :: เดนเดพเดทเต :: padding RSA เดชเดฌเตเดฒเดฟเด•เตเด•เต เด•เต€ เดกเดพเดฑเตเดฑ เดŽเตปเด•เต‡เดพเดกเต. "เด™เตเด™เดณเต" เดจเดŸเดชเดŸเดฟ เดธเตเด•เดพเตป เด‡เดตเดจเตเดฑเตเด•เตพ เดฐเต‚เดชเด•เตฝเดชเตเดชเดจ, เดธเตเด•เตเดฐเต€เตป เดŽเดจเตเดจเดคเดฟเดฒเต† OTP เดŸเต†เด•เตเดธเตเดฑเตเดฑเต เด†เดฏเดฟ เด•เดพเดฃเดฟเด•เตเด•เตเด‚. "C" เด†เด•เตเดทเตป เด•เตเดฒเดฟเด•เตเด•เดฟเตฝ เด‡เดตเดจเตเดฑเตเด•เตพ เดฐเต‚เดชเด•เดฒเตเดชเดจ เดšเต†เดฏเตเดคเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเดคเต. เดตเตเดฏเดคเตเดฏเดพเดธเด‚ เด† เด•เตเดฒเดฟเด•เตเด•เดฟเตฝ เด‡เดตเดจเตเดฑเตเด•เตพ OTP เด•เต‡เดพเดกเต เดชเด•เดฐเด‚ เด‰เดชเดฏเต‡เดพเด•เตเดคเดพเดตเดฟเดจเตเดฑเต† เด•เตเดฒเดฟเดชเตเดฌเต‡เดพเตผเดกเต เด‡เดŸเตเดŸเต เด‡เดŸเดฏเดพเด•เตเด•เตเด‚, เด…เดคเดฟเดจเดพเตฝ เด‰เดชเดฏเต‡เดพเด•เตเดคเดพเดตเต เด‰เดŸเดจเต† เดšเต†เดฏเตเดค OTP เดซเต€เดฒเตเดกเต เด•เต‡เดพเดกเต เด’เดŸเตเดŸเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต เดฎเตเดจเตเดจเต‡เดพเดŸเตเดŸเต เด†เดฃเต.
เดนเดพเดทเต เดตเดฏเดฟเด•เตเด•เดพเตป + เดธเดจเตเดฆเต‡เดถเด‚ + เดตเดฏเดฟเด•เตเด•เดพเตป, เดธเตเดŸเตเดฐเดฟเด™เต เดฌเตˆเดฑเตเดฑเดพเดฏเดฟ เด…เดงเตเดฏเดพเดคเตเดฎเดœเตเดžเดพเดจเดฎเต†เดจเตเดจเดพเดฃเต เดŽเดตเดฟเดŸเต† เดจเดฟเดจเตเดจเต MD5 เดธเตƒเดทเตเดŸเดฟเดšเตเดšเตเด•เต†เดพเดฃเตเดŸเต เดตเดฟเดถเตเดตเดธเดฟเด•เตเด•เดชเตเดชเต†เดŸเตเดจเตเดจเต. เดˆ เดนเดพเดทเต เดŽเตปเด•เตเดฐเดฟเดชเตเดฑเตเดฑเต เดŸเต†เด•เตเดธเตเดฑเตเดฑเต เดจเต malleability เด†เด•เตเดฐเดฎเดฃเด™เตเด™เตพ เดšเดฟเดฒ เดชเดฐเตเด•เตเด•เตป เดฐเต‚เดชเด™เตเด™เตพ เดธเด‚เดฐเด•เตเดทเดฟเด•เตเด•เตเดจเตเดจเต. เด…เดฎเตผเดจเตเดจเต เดจเดฟเตผเดฎเดพเดฃเด‚ OTP: เดธเดจเตเดฆเต‡เดถเดคเตเดคเดฟเดจเต เดคเดฎเตเดฎเดฟเดฒเตเดณเตเดณ เดธเต†เดชเตเดชเดฑเต‡เดฑเตเดฑเตผ เดšเดฒเดฟเด•เตเด•เตเดจเตเดจ เดจเดฟเดจเตเดจเต เด’เดฐเต เด†เด•เตเดฐเดฎเดฃเด•เดพเดฐเดฟ เดคเดŸเดฏเตเดจเตเดจเต.

เด…เดชเตเดฒเดฟเด•เตเด•เต‡เดทเดจเตเดฑเต† เดธเตเด•เตเดฐเต€เตปเดทเต‡เดพเดŸเตเดŸเตเด•เตพ เดฎเดจเดƒเดชเต‚เตผเดตเตเดตเด‚ เดชเต‡เดพเดฒเต† เด†เดชเตเดชเดฟเตฝ เดชเตเดฐเดคเดฟเดชเตเดฐเดตเตผเดคเตเดคเดจเด‚ เด•เต‡เดพเดณเดฟเด‚เด—เต เดฎเตเด•เดณเดฟเตฝ เดฆเตƒเดถเตเดฏเดฎเดพเด•เตเดจเตเดจ เด’เดฐเต เดฌเต‡เดพเด•เตเดธเต เดตเดดเดฟ เดจเตฝเด•เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเดคเต, เดตเตเดฏเดพเดชเดพเดฐเดฎเตเดฆเตเดฐ / เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดชเด•เตผเดชเตเดชเดตเด•เดพเดถ เดฒเด‚เด˜เดจเด‚ เดคเดŸเดฏเดพเตป (Android เดฎเดฑเตเดฑเต เด…เดชเตเดฒเดฟเด•เตเด•เต‡เดทเดจเตเด•เตพ เดฏเตเด เดชเด•เตผเดชเตเดชเดตเด•เดพเดถ เดธเด‚เดฐเด•เตเดทเดฟเดคเดฎเดพเดฃเต) เดธเต†เตปเดธเตผ เดšเต†เดฏเตเดคเต เดถเตเดฐเดฆเตเดงเดฟเด•เตเด•เตเด• เด†เดงเดฟเด•เดพเดฐเดฟเด•เดค เดธเด‚เดญเดตเดฟเด•เตเด•เดพเตป เด•เดพเดฐเดฃเดฎเดพเดฏ เด…เดชเตเดฒเดฟเด•เตเด•เต‡เดทเตป.

เด…เดชเตเดฒเดฟเด•เตเด•เต‡เดทเตป เดเดคเต†เด™เตเด•เดฟเดฒเตเด‚ เดชเตเดฐเดถเตเดจเด™เตเด™เตพ เด‰เดฃเตเดŸเต†เด™เตเด•เดฟเตฝ, เดจเดฟเด™เตเด™เตพ เดˆ เด…เดชเตเดฒเดฟเด•เตเด•เต‡เดทเตป เดตเต†เดณเตเดชเตเดชเต†เดŸเตเดคเตเดคเตเดจเตเดจเต, เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต เด•เต‡เดพเดกเตเด‚ เดชเต†เดพเดคเต เดธเดพเดฎเต‚เดนเดฟเด•เด‚ เดชเต‡เดœเดฟเตฝ เด•เต‚เดŸเตเดคเตฝ เดจเดฟเตผเดฆเตเดฆเต‡เดถเด™เตเด™เตพ เด•เดฃเตเดŸเต†เดคเตเดคเดพเดจเดพเด•เตเด‚.
เดŽเดคเดฟเดฐเต†, เดชเต†เดพเดคเต เดธเดพเดฎเต‚เดนเดฟเด•เด‚ เดŸเตเดฐเดพเด•เตเด•เตผ เดเดคเต†เด™เตเด•เดฟเดฒเตเด‚ เดชเตเดฐเดถเตเดจเด™เตเด™เตพ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เดพเตป เดฎเดŸเดฟเด•เตเด•เต‡เดฃเตเดŸเดคเดฟเดฒเตเดฒ.
เด…เดชเตโ€Œเดกเต‡เดฑเตเดฑเต เดšเต†เดฏเตเดค เดคเต€เดฏเดคเดฟ
2016, เด“เด— 1

เดกเดพเดฑเตเดฑเดพ เดธเตเดฐเด•เตเดท

เดกเต†เดตเดฒเดชเตเดชเดฐเตโ€เดฎเดพเตผ เดจเดฟเด™เตเด™เดณเตเดŸเต† เดกเดพเดฑเตเดฑ เดถเต‡เด–เดฐเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดชเด™เตเด•เดฟเดŸเตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเต เดŽเด™เตเด™เดจเต†เดฏเต†เดจเตเดจเต เดฎเดจเดธเตเดธเดฟเดฒเดพเด•เตเด•เตเดจเตเดจเดคเดฟเดฒเต‚เดŸเต†เดฏเดพเดฃเต เดธเตเดฐเด•เตเดท เด†เดฐเด‚เดญเดฟเด•เตเด•เตเดจเตเดจเดคเต. เดจเดฟเด™เตเด™เดณเตเดŸเต† เด‰เดชเดฏเต‡เดพเด—เดคเตเดคเต†เดฏเตเด‚ เดชเตเดฐเดฆเต‡เดถเดคเตเดคเต†เดฏเตเด‚ เดชเตเดฐเดพเดฏเดคเตเดคเต†เดฏเตเด‚ เด…เดŸเดฟเดธเตเดฅเดพเดจเดฎเดพเด•เตเด•เดฟ เดกเดพเดฑเตเดฑเดพ เดธเตเดตเด•เดพเดฐเตเดฏเดคเดฏเตเด‚ เดธเตเดฐเด•เตเดทเดพ เดจเดŸเดชเดŸเดฟเด•เดณเตเด‚ เดตเตเดฏเดคเตเดฏเดพเดธเดชเตเดชเต†เดŸเดพเด‚. เดกเต†เดตเดฒเดชเตเดชเดฐเตโ€ เดˆ เดตเดฟเดตเดฐเด™เตเด™เตพ เดจเตฝเด•เดฟ เด•เดพเดฒเด•เตเดฐเดฎเต‡เดฃ เด‡เดคเต เด…เดชเตเดกเต‡เดฑเตเดฑเต เดšเต†เดฏเตเดคเต‡เด•เตเด•เดพเด‚.
เดฎเต‚เดจเตเดจเดพเด‚ เด•เด•เตเดทเดฟเด•เดณเตเดฎเดพเดฏเดฟ เดกเดพเดฑเตเดฑเดฏเตŠเดจเตเดจเตเด‚ เดชเด™เตเด•เดฟเดŸเตเดŸเดฟเดฒเตเดฒ
เดกเต†เดตเดฒเดชเตเดชเตผเดฎเดพเตผ เดŽเด™เตเด™เดจเต†เดฏเดพเดฃเต เดชเด™เตเด•เดฟเดŸเตฝ เดชเตเดฐเด–เตเดฏเดพเดชเดฟเด•เตเด•เตเดจเตเดจเดคเต เดŽเดจเตเดจเดคเดฟเดจเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเต เด•เต‚เดŸเตเดคเดฒเดฑเดฟเดฏเตเด•
เดกเดพเดฑเตเดฑเดฏเตŠเดจเตเดจเตเด‚ เดถเต‡เด–เดฐเดฟเดšเตเดšเดฟเดŸเตเดŸเดฟเดฒเตเดฒ
เดกเต†เดตเดฒเดชเตเดชเตผเดฎเดพเตผ เดŽเด™เตเด™เดจเต†เดฏเดพเดฃเต เดถเต‡เด–เดฐเดฃเด‚ เดชเตเดฐเด–เตเดฏเดพเดชเดฟเด•เตเด•เตเดจเตเดจเดคเต เดŽเดจเตเดจเดคเดฟเดจเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเต เด•เต‚เดŸเตเดคเดฒเดฑเดฟเดฏเตเด•

เดชเตเดคเดฟเดฏเดคเต†เดจเตเดคเดพเดฃเตเดณเตเดณเดคเต?

1.4:
- Added Md5 hash verification, to further protect against malleability attacks.
1.3:
- Improved code so the app can more reliable kill itself.
1.2:
- Added OTP into @string/app_name to match Google Play app name.
1.1:
- Changed enroll function to exclude linebreaks in the public key.
- Added new "u" enroll function. Read the description or GitHub page for more information. The "u" enroll function is recommended when enrolling from a computer.