下面C#加密算法代码如何用java表示出来

/// <summary>
        /// DES MAC地址型加密
        /// </summary>
        /// <param name="source">待加密字段</param>
        /// <param name="keyVal">8位密钥值</param>
        /// <param name="ivVal">8位加密辅助向量</param>
        /// <returns></returns>
        public string DesMac(string source, string keyVal, string ivVal)
        {
            try
            {
                byte[] data = Encoding.UTF8.GetBytes(source);
                var des = new DESCryptoServiceProvider { Key = Encoding.ASCII.GetBytes(keyVal.Length > 8 ? keyVal.Substring(0, 8) : keyVal), IV = Encoding.ASCII.GetBytes(ivVal.Length > 8 ? ivVal.Substring(0, 8) : ivVal) };
                var desencrypt = des.CreateEncryptor();
                byte[] result = desencrypt.TransformFinalBlock(data, 0, data.Length);
                return BitConverter.ToString(result);
            }
            catch { return "转换出错!"; }
        }

https://www.cnblogs.com/yeyuchangfeng/p/5857698.html