Twitter のアカウントが凍結・あるいはサービスに問題が発生した場合、新しいアカウント、プラットフォームで「私は私です!」という自己証明を行うのはとても難しいです。
持続的な自己証明を可能な限り実現するため、この Gist を作成しました。
この一覧に記載されている各 SNS のアカウントは、私です。 万が一「なにか」が起きたときには、この一覧をご参照ください。
| package com.example.tomoyashibata.myapplication | |
| import android.graphics.Bitmap | |
| import android.graphics.BitmapFactory | |
| import android.os.Bundle | |
| import android.support.v7.app.AppCompatActivity | |
| import android.widget.Toast | |
| import kotlinx.android.synthetic.main.activity_main.* | |
| import kotlinx.coroutines.experimental.CommonPool | |
| import kotlinx.coroutines.experimental.android.UI |
| package com.example.tomoyashibata.myapplication | |
| import android.graphics.Bitmap | |
| import android.graphics.BitmapFactory | |
| import android.os.Bundle | |
| import android.support.v7.app.AppCompatActivity | |
| import android.util.Log | |
| import android.widget.Toast | |
| import kotlinx.android.synthetic.main.activity_main.* | |
| import kotlinx.coroutines.experimental.CommonPool |
| package com.tomoyashibata.myapplication | |
| data class ErrorMessage( | |
| val message: String, | |
| val errors: List<Error> | |
| ) | |
| data class Error( | |
| val resource: String, | |
| val field: String, |
| // 使い方 | |
| // showDialog(context: context, child: this._getAlertDialog()); | |
| Widget _getAlertDialog() { | |
| var title = new Text("AlertDialog"); | |
| var listBody = new ListBody( | |
| children: [ | |
| new Text("AlertDialog body text."), | |
| ], | |
| ); | |
| var androidAction = new FlatButton( |
| private fun signVerify() { | |
| val plainText = "I'm Tomoya Shibata" | |
| val aliceKeyPair = this.generateKeyPair("aliceKeyPair") | |
| // alice の秘密鍵で署名 | |
| val signSignature = Signature.getInstance("SHA256withECDSA") | |
| signSignature.initSign(aliceKeyPair?.private) | |
| signSignature.update(plainText.toByteArray(Charsets.UTF_8)) | |
| val sign = signSignature.sign() | |
| Log.d("sign", String(sign)) |
| import android.util.Log | |
| import java.security.interfaces.ECPublicKey | |
| import javax.crypto.Cipher | |
| import javax.crypto.KeyAgreement | |
| import javax.crypto.spec.SecretKeySpec | |
| // Alice のキーペア作成 | |
| val aliceKpg = KeyPairGenerator.getInstance("EC") | |
| aliceKpg.initialize(ECGenParameterSpec("secp256r1")) | |
| val aliceKeyPair = aliceKpg.generateKeyPair() |
| // java.util.Date をいい感じにフォーマットして表示するやつ | |
| @BindingAdapter("date") | |
| fun TextView.setDate(date: Date?): Unit { | |
| if (createdAt == null) return | |
| // android.text.format.DateFormat を使うよ | |
| val formatedDate = DateFormat.format("yyyy.MM.dd kk:mm", date) | |
| this.text = formatedDate | |
| } |
Twitter のアカウントが凍結・あるいはサービスに問題が発生した場合、新しいアカウント、プラットフォームで「私は私です!」という自己証明を行うのはとても難しいです。
持続的な自己証明を可能な限り実現するため、この Gist を作成しました。
この一覧に記載されている各 SNS のアカウントは、私です。 万が一「なにか」が起きたときには、この一覧をご参照ください。
| .RichEditor { | |
| border-radius: 6px; | |
| } | |
| .EdgeButton { | |
| border-radius: 6px; | |
| } |