MD5加密算法
发表于|更新于|Code
|浏览量:
MD5加密算法
1 | import java.security.MessageDigest |
文章作者: Fleming Chen
文章链接: https://flemingme.github.io/2020/11/07/%E4%BB%A3%E7%A0%81/MD5%E5%8A%A0%E5%AF%86%E7%AE%97%E6%B3%95/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Fleming's Blog!
相关推荐
2021-02-08
监听网络连接状态
监听网络连接状态 通过注册网络回调 (NetworkCallback),可以动态监控 Wi-Fi 的连接状态。 1234567891011121314151617181920val connectivityManager = context.getSystemService(Context.CONNECTIVITY_SERVICE) as ConnectivityManagerval networkCallback = object : ConnectivityManager.NetworkCallback() { override fun onAvailable(network: Network) { val networkCapabilities = connectivityManager.getNetworkCapabilities(network) if (networkCapabilities?.hasTransport(NetworkCapabilities.TRANSPORT_WIFI) == true) ...
2023-11-14
将 raw 资源复制为临时文件
将 raw 资源复制为临时文件123456789101112131415161718192021import java.io.*fun copyRawToCache(context: Context, @RawRes rawId: Int, fileName: String): File? { val cacheFile = File(context.cacheDir, fileName) if (cacheFile.exists()) { // 可选:避免重复复制(注意更新策略) return cacheFile } return try { context.resources.openRawResource(rawId).use { input -> cacheFile.outputStream().use { output -> input.copyTo(output) ...
2023-02-08
适配34广播动态注册
适配34广播动态注册在target 适配到34之后, 要注意registerReceiver方法的第三个参数必须设置RECEIVER_EXPORTED或RECEIVER_NOT_EXPORTED,否则报错。12345678910111213141516/** * 适配14,动态注册需要加flag * @param context * @param receiver * @param filter */fun registerReceiverCompat( context: Context, receiver: BroadcastReceiver, filter: IntentFilter) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.UPSIDE_DOWN_CAKE) { context.registerReceiver(receiver, filter, RECEIVER_NOT_EXPORTED) } else { ...
2022-02-08
国内镜像地址
国内镜像地址1234567891011121314151617181920buildscript { repositories { maven { url 'https://mirrors.huaweicloud.com/repository/maven/' } maven { url 'https://maven.aliyun.com/repository/public/' } }}allprojects{ repositories { maven { url 'https://mirrors.huaweicloud.com/repository/maven/' } maven { url 'https://maven.aliyun.com/repository/public/' } }}
2024-11-06
EdgeToEdge全屏状态和导航栏高度适配
EdgeToEdge全屏状态和导航栏高度适配12345ViewCompat.setOnApplyWindowInsetsListener(binding.root) { v, insets -> val systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars()) v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom) insets}
2022-02-08
Kotlin语法糖
Kotlin语法糖Kotlin 是一种现代编程语言,它引入了许多语法糖和特性,旨在提高代码的简洁性和可读性。以下是一些 Kotlin 中常用的语法糖和特性: 1. 数据类(Data Classes)Kotlin 的数据类自动生成常见的方法,如 equals(), hashCode(), toString(), copy() 等。 1data class User(val name: String, val age: Int) 2. 属性委托(Property Delegates)属性委托允许你将属性的 getter 和 setter 代理给另一个对象。 12345class User { var name: String by Delegates.observable("John Doe") { prop, old, new -> println("$old -> $new") }} 3. 智能转换(Smart Casts)Kotlin 的智能转换允许你在类型...
公告
欢迎来到我的博客,有任何疑问可以随时联系我交流讨论!






