`
zhaoshengxuan108
  • 浏览: 26446 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Java 二进制权限控制算法

    博客分类:
  • Java
 
阅读更多

二进制权限控制算法,主要是利用了(&,|, ~)运算的特性。

String s1 = "0000000000000000000000000000000000000001";  // 添加
String s2 = "0000000000000000000000000000000000000010";  // 删除
String s3 = "0000000000000000000000000000000000000100";  // 修改
String s4 = "0000000000000000000000000000000000001000";  // 查看
		
long iPermission1 = Long.parseLong(s1, 2) | Long.parseLong(s2, 2); // 添加权限
long iPermission2 = iPermission1 & (~Long.parseLong(s1, 2)); // 删除权限
		
long is1 = Long.parseLong(s1, 2);
long is2 = Long.parseLong(s2, 2);
long is3 = Long.parseLong(s3, 2);
long is4 = Long.parseLong(s4, 2);
		
/* iPermission1 拥有的权限 */
if ((iPermission1 & is1) == is1) {
	System.out.println("iPermission1有添加");
} 
if ((iPermission1 & is2) == is2) {
	System.out.println("iPermission1有删除");
}
		
/* iPermission2 拥有的权限 */
if ((iPermission2 & is1) == is1) {
	System.out.println("iPermission2有添加");
} 
if ((iPermission2 & is2) == is2) {
	System.out.println("iPermission2有删除");
}

 

分享到:
评论

相关推荐

    java权限设置,和java处理字符和二进制的转换

    Java权限设置和字符、二进制转换 Java权限设置是一种常用的权限控制方法,用于控制用户对系统资源...Java权限设置和字符、二进制转换是两个常用的技术,用于控制用户对系统资源的访问权限和处理字符和二进制的转换。

    Java权限控制的算法

    Java权限控制的算法,通过二进制数据来实现对权限的赋值,比对,提高了计算机运行效率也清晰一目了然

    JAVACLASS二进制文件加密专家

    JavaClass二进制文件是Java程序的核心组成部分,它包含了编译后的Java源代码,用于Java虚拟机(JVM)执行。在开发过程中,为了保护知识产权、防止恶意篡改或反编译,对JavaClass文件进行加密是至关重要的。"JAVA...

    权限控制算法的实现,很经典的

    例如,在给定的例子中,通过`2^n`的形式为每个权限分配一个唯一的值,其中n是该权限对应的二进制位的位置。 ### 具体实现 #### 1. 权限值定义 首先,我们需要定义每个权限所对应的数值。例如: - 删除(Delete)...

    java基于移位操作实现二进制处理的方法示例

    接下来,`TestBinary`类展示了如何利用移位操作进行二进制处理,特别是用于权限控制的情况。这个类提供了两个静态方法: 1. `getValue(Integer k, int index)`:将十进制数k转换为二进制字符串,然后返回指定index...

    经典权限管理算法

    该算法基于二进制位运算来实现权限管理。通过为不同的操作赋予不同的数值(通常是2的幂次方),可以灵活地组合出各种权限。具体来说: - **权限值定义**:每个操作被赋予一个2的幂次方值,如查看操作被赋值为1(2^0...

    二进制的基础上的位运算

    ### 二进制基础上的位运算详解 #### 一、位运算概述 位运算是一种直接在二进制层面上操作数据的运算方式。相比于普通的算术运算,位运算执行效率更高,广泛应用于网络编程、硬件控制等场景。本文将详细介绍五种...

    读取文件的2进制数据

    - 在处理压缩包内的二进制文件时,需要考虑文件编码、压缩算法以及可能的加密保护。 5. 安全性与错误处理: - 读取二进制文件时,要注意文件大小,避免内存溢出。使用缓冲区并分块读取大文件是一种常见的优化策略...

    Fabric1.4源码和二进制bin完美整合.rar

    4. **身份与权限管理**:Fabric使用X.509证书进行身份验证,并通过MSP(Membership Service Provider)实现细粒度的权限控制。 5. **背书策略(Endorsement Policies)**:每个链码都有其特定的背书策略,规定了...

    Java程序读取服务器端数据文件的解决方法及比较

    3. **预处理过的二进制文件读取**:对于经过字节顺序调整的二进制数据文件,可以在不同数据段之间及整个数据文件结束处设立二进制结束标志。此时,Java程序可以直接读取相应的字节,并生成相应的数值类型,无需额外...

    排序算法原理与实现(java)编银行JAVA笔试题二编程资料程资料

    java中的位运算是指对二进制数进行操作。例如,在题目中,使用~运算符对j进行取反操作。 题目10:软件开发 软件开发的生命周期可以分为需求设计、代码编写、软件测试和软件维护四个阶段。其中,软件测试是占用时间...

    使用AndroidStudio开发简易进制转换计算器

    这个应用将允许用户在不同的数值系统之间进行转换,如二进制、八进制、十进制和十六进制。 首先,我们需要了解Android Studio的基础知识。它基于IntelliJ IDEA,提供了丰富的功能来帮助开发者创建Android应用程序。...

    java源码包---java 源码 大量 实例

     Java二进制IO类与文件复制操作实例,好像是一本书的例子,源代码有的是独立运行的,与同目录下的其它代码文件互不联系,这些代码面向初级、中级Java程序员。 Java访问权限控制源代码 1个目标文件 摘要:Java源码,...

    nacos1.4.1二进制压缩包

    Nacos提供了权限控制功能,可以对用户访问配置和服务进行授权,保障系统安全。此外,敏感配置还可以进行加密处理,进一步保护数据隐私。 总结,Nacos 1.4.1版本是一个强大且易用的分布式服务治理工具,其服务发现...

    日期_进制转换_时间戳

    这种转换对于理解二进制数据,如内存地址或文件权限,至关重要。 2. **自定义任意进制转换**:除了常见的二、八、十、十六进制,这个工具可能还支持转换到其他任意基数的数制,如五进制、七进制或二十二进制等。这...

    算法:用Java编写的一些常见算法问题的解决方案

    二进制数字和位运算符 数学运算 顺序 数组 排序算法 杂项 由开发 佩德罗·维森特·戈麦斯·桑切斯 执照 版权所有2014 Pedro VicenteGómezSánchez 根据Apache许可版本2.0(“许可”)许可; 除非遵守许可,否则...

    bin-kon:二进制转换器

    "宾康二进制转换器"是一个基于Java的Android应用,主要用于数字系统间的转换,特别是二进制转换。这个项目涵盖了二进制的基础知识,Java编程技术,以及Android应用开发的实践。通过深入研究源代码,开发者可以学习到...

    imp_java:开票系统二进制

    "imp_java:开票系统二进制"是一个与Java编程相关的项目,主要涉及的是开发一个用于开具发票的系统。在IT行业中,开票系统是非常重要的一环,它涉及到企业的财务管理和税务合规。这个项目的源代码可能使用了Java语言...

    史上最强的java面试题 corejava javaWeb SSH框架

    例如,位运算在优化代码和处理二进制数据时非常有用,要熟悉位与、或、异或和位移操作。Java的字符串是不可变的,理解其内部结构和操作方法(如concat、substring、replace)是必要的。此外,面试中还经常考察各种...

    java位运算,符号运算 详细解释

    Java位运算是一种底层...总结,Java中的位运算符是编程工具箱中的重要部分,它们提供了对数据二进制表示的直接操作能力,有助于实现高效的算法和数据处理。理解并熟练掌握位运算是成为高级Java开发者的关键步骤之一。

Global site tag (gtag.js) - Google Analytics