Commit cfbf4f8c authored by Him188's avatar Him188

Update `md5`: support buffers

parent ccf5df94
...@@ -42,7 +42,8 @@ actual fun localIpAddress(): String = runCatching { ...@@ -42,7 +42,8 @@ actual fun localIpAddress(): String = runCatching {
* *
* @return 16 bytes * @return 16 bytes
*/ */
actual fun md5(byteArray: ByteArray): ByteArray = MessageDigest.getInstance("MD5").digest(byteArray) actual fun md5(byteArray: ByteArray, offset: Int, length: Int): ByteArray =
MessageDigest.getInstance("MD5").apply { update(byteArray, offset, length) }.digest()
fun InputStream.md5(): ByteArray { fun InputStream.md5(): ByteArray {
val digest = MessageDigest.getInstance("md5") val digest = MessageDigest.getInstance("md5")
......
...@@ -32,7 +32,7 @@ expect fun ByteArray.unzip(offset: Int = 0, length: Int = this.size - offset): B ...@@ -32,7 +32,7 @@ expect fun ByteArray.unzip(offset: Int = 0, length: Int = this.size - offset): B
* *
* @return 16 bytes * @return 16 bytes
*/ */
expect fun md5(byteArray: ByteArray): ByteArray expect fun md5(byteArray: ByteArray, offset: Int = 0, length: Int = byteArray.size - offset): ByteArray
inline fun md5(str: String): ByteArray = md5(str.toByteArray()) inline fun md5(str: String): ByteArray = md5(str.toByteArray())
......
...@@ -20,7 +20,8 @@ import java.net.InetAddress ...@@ -20,7 +20,8 @@ import java.net.InetAddress
import java.security.MessageDigest import java.security.MessageDigest
import java.util.zip.Inflater import java.util.zip.Inflater
actual fun md5(byteArray: ByteArray): ByteArray = MessageDigest.getInstance("MD5").digest(byteArray) actual fun md5(byteArray: ByteArray, offset: Int, length: Int): ByteArray =
MessageDigest.getInstance("MD5").apply { update(byteArray, offset, length) }.digest()
fun InputStream.md5(): ByteArray = this.use { fun InputStream.md5(): ByteArray = this.use {
val digest = MessageDigest.getInstance("md5") val digest = MessageDigest.getInstance("md5")
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment