Skip to content

Instantly share code, notes, and snippets.

View allefsousa's full-sized avatar
:octocat:
Creating bugs since 2012

Allef Sousa allefsousa

:octocat:
Creating bugs since 2012
View GitHub Profile
import org.bouncycastle.jce.provider.BouncyCastleProvider
import java.security.Security
import javax.crypto.SecretKeyFactory
import javax.crypto.spec.PBEKeySpec
import javax.crypto.spec.SecretKeySpec
private fun getSecretKey(salt: ByteArray): SecretKeySpec {
// Adicione o provedor Bouncy Castle
Security.addProvider(BouncyCastleProvider())
import android.security.keystore.KeyProperties
import androidx.annotation.RequiresApi
import co.tob.charan.constants.EncryptConstants.ENC_VALUE
import co.tob.charan.constants.EncryptConstants.IV_VALUE
import co.tob.charan.constants.EncryptConstants.SALT_VALUE
import co.tob.charan.utils.fromBytetoString
import java.security.Key
import java.security.SecureRandom
import java.math.BigInteger
import java.security.*
import java.security.cert.Certificate
import java.security.cert.CertificateEncodingException
import java.security.cert.CertificateException
import java.security.cert.CertificateFactory
import java.security.cert.X509Certificate
import java.time.LocalDate
import java.time.ZoneOffset
import java.util.*
@allefsousa
allefsousa / Rsa.kt
Created April 4, 2023 13:28
Sifrar informação
@TargetApi(23)
fun signData(data: String, alias: String): String {
try {
//We get the Keystore instance
val keyStore: KeyStore = KeyStore.getInstance(ANDROID_KEYSTORE).apply {
load(null)
}
//Retrieves the private key from the keystore
val privateKey: PrivateKey = keyStore.getKey(alias, null) as PrivateKey
fun recoveryPrivateKey(alias: String): PrivateKey {
val keyStore = createKeyStore()
val privateKey = keyStore.getKey(alias, null) as PrivateKey
return privateKey
}
fun recoveryPublic(alias: String): PublicKey {
val keyStore = createKeyStore()
val cert: Certificate = keyStore.getCertificate(alias)
val publicKey: PublicKey = cert.publicKey
return publicKey
}
@allefsousa
allefsousa / MainActivity.kt
Created April 21, 2020 04:14
Call Adapter
list.adapter = RvAdapter { name ->
editText.setText(name)
motionLayout.transitionToEnd()
}
@allefsousa
allefsousa / RvAdapter.kt
Created April 21, 2020 04:12
Simple list Item recyclerview
package pl.tkadziolka.motionlayout
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.recyclerview.widget.RecyclerView
import kotlinx.android.synthetic.main.simple_item.view.*
class RvAdapter(private val listener: (String) -> Unit) : RecyclerView.Adapter<SimpleItem>() {
@allefsousa
allefsousa / mutablelivedata.md
Created January 3, 2020 12:25 — forked from humblehacker/mutablelivedata.md
Don't expose MutableLiveData
@allefsousa
allefsousa / Allefcv.pdf
Last active January 11, 2021 06:54
pdf
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.