当前位置: 首页 > news >正文

大庆免费网站建设公做彩平图的素材那个网站有

大庆免费网站建设公,做彩平图的素材那个网站有,中国建设银行网站属于什么机构,app展示网站模板html基础算法说明 https://www.youtube.com/watch?vlnKPoWZnNNM 虽然这个视频讲的非常详细#xff0c;但是涉及到具体底层算法#xff0c;大致流程 1. 将数据转成HEX或者byte array 2.将数据分层一块块等大小的数据 3.将数据和key 进行一次混合#xff0c;加密之后的输出lnKPoWZnNNM 虽然这个视频讲的非常详细但是涉及到具体底层算法大致流程 1. 将数据转成HEX或者byte array 2.将数据分层一块块等大小的数据 3.将数据和key 进行一次混合加密之后的输出在生成新的key 4.将新的key和下一个数据进行加密计算继续重复 生成的KEY长度有128,192,256不同的的长度对算法的速度有影响 当然key的长度越长可能越安全这样 具体的算法是什么呢 为什么要有IV 另外这篇 https://www.youtube.com/watch?vuWEPEBmFBHw 我们在AES的时候有key了为什么要IV呢 大概解释是IV是个Ramdom的参数不然每次用key算出来的值是一样的 所以加上IV后计算出来的结果会不一样。 Android上的具体AES实现 然后就是PL这个在Android上AES加密的具体实现 https://github.com/philipplackner/AndroidCrypto/tree/encrypt/decrypt 或者参考这个文档 https://medium.com/jerry.cho.dev/android-keystore-aa7d2b43adfe 基本差不多 1.加密管理器 key的初始化和获取 RequiresApi(Build.VERSION_CODES.M) class CryptoManager {//获取keystroe,用于存放加密的keyprivate val keyStore KeyStore.getInstance(AndroidKeyStore).apply {load(null)}//获取加密器模式是ENCRYPT_MODEprivate val encryptCipher get() Cipher.getInstance(TRANSFORMATION).apply {init(Cipher.ENCRYPT_MODE, getKey())}//解码器模式DECRYPT_MODEprivate fun getDecryptCipherForIv(iv: ByteArray): Cipher {return Cipher.getInstance(TRANSFORMATION).apply {init(Cipher.DECRYPT_MODE, getKey(), IvParameterSpec(iv))}}//加密秘钥存储在keystroe中private fun getKey(): SecretKey {val existingKey keyStore.getEntry(secret, null) as? KeyStore.SecretKeyEntryreturn existingKey?.secretKey ?: createKey()}private fun createKey(): SecretKey {return KeyGenerator.getInstance(ALGORITHM).apply {init(KeyGenParameterSpec.Builder(secret,KeyProperties.PURPOSE_ENCRYPT or KeyProperties.PURPOSE_DECRYPT).setBlockModes(BLOCK_MODE).setEncryptionPaddings(PADDING).setUserAuthenticationRequired(false).setRandomizedEncryptionRequired(true).build())}.generateKey()}//把byte进行加密写入IV写入机密后的bytesfun encrypt(bytes: ByteArray, outputStream: OutputStream): ByteArray {val encryptedBytes encryptCipher.doFinal(bytes)outputStream.use {it.write(encryptCipher.iv.size)it.write(encryptCipher.iv)it.write(encryptedBytes.size)it.write(encryptedBytes)}return encryptedBytes}//解码读取IV根据IV再解码fun decrypt(inputStream: InputStream): ByteArray {return inputStream.use {val ivSize it.read()val iv ByteArray(ivSize)it.read(iv)val encryptedBytesSize it.read()val encryptedBytes ByteArray(encryptedBytesSize)it.read(encryptedBytes)getDecryptCipherForIv(iv).doFinal(encryptedBytes)}}companion object {private const val ALGORITHM KeyProperties.KEY_ALGORITHM_AESprivate const val BLOCK_MODE KeyProperties.BLOCK_MODE_CBCprivate const val PADDING KeyProperties.ENCRYPTION_PADDING_PKCS7private const val TRANSFORMATION $ALGORITHM/$BLOCK_MODE/$PADDING}} 2.加密 val bytes messageToEncrypt.encodeToByteArray()val file File(filesDir, secret.txt)if(!file.exists()) {file.createNewFile()}val fos FileOutputStream(file)messageToDecrypt cryptoManager.encrypt(bytes bytes,outputStream fos).decodeToString() 3.解密 val file File(filesDir, secret.txt)messageToEncrypt cryptoManager.decrypt(inputStream FileInputStream(file)).decodeToString()
http://www.w-s-a.com/news/963576/

相关文章:

  • 自已如何做网站建设通网站会员共享密码
  • 做网站学习什么wordpress 文件夹
  • 前端移动网站开发wordpress图文混排
  • 企业网站建站那种好商城类网站怎么优化
  • 手机微网站怎么制作的网上找设计师
  • 网站建设包括哪些方面学校网站 建设
  • 贵阳网站优化公司建筑设计师用什么软件
  • 网站建设的小说静态网页模板免费网站
  • 芜湖建设厅官方网站wordpress自动设置缩略图
  • 推荐网站网页湛江网站建设哪家优惠多
  • 传奇网站免费空间网店装修店面
  • 网站改版 重新收录湖南建筑信息一体化管理平台
  • 可以做直播卖产品的网站陕西省建设银行网站
  • 搭建网站的英语seo优化专员招聘
  • 做网站深紫色搭配什么颜色网站的在线支付怎么做
  • 中国最大网站建设公司长沙专业做网站公司哪家好
  • 金峰辉网站建设菏泽财富中心网站建设
  • 怎么做网站站长视频企业网站开发意义
  • 网站创建多少钱商标自助查询系统官网
  • 免费做App和网站的平台广州做网站推广的公司
  • 衡水做网站推广的公司wordpress相册滑动
  • 不用域名也可以做网站公司网站建设制作难么
  • 学做网站培训机构wordpress 图片拉伸
  • 成都捕鱼网站建设wordpress自定义文章类别
  • wordpress网站怎么加速湖北网站建设企业
  • 迁安做网站中的cms开发南平网站建设公司
  • 肥西县住房和城乡建设局网站代驾系统定制开发
  • 网站建设明细报价表 服务器qq是哪家公司的产品
  • html链接网站模板wordpress怎么调用简码
  • 网站域名怎么查简述网站推广的五要素