Commit cfbf4f8c authored by Him188's avatar Him188

Update `md5`: support buffers

parent ccf5df94
......@@ -42,7 +42,8 @@ actual fun localIpAddress(): String = runCatching {
*
* @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 {
val digest = MessageDigest.getInstance("md5")
......
......@@ -32,7 +32,7 @@ expect fun ByteArray.unzip(offset: Int = 0, length: Int = this.size - offset): B
*
* @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())
......
......@@ -20,7 +20,8 @@ import java.net.InetAddress
import java.security.MessageDigest
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 {
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