Accurate and efficient feature descriptors are crucial for the success of many pattern recognition tasks including human identification. Existing studies have shown that features extracted from 3D depth images are more reliable than those from 2D intensity images because intensity images are generally noisy and sensitive to illumination variation, which is challenging for many real-world applications like biometrics. Recently introduced 3D feature descriptors like Binary Shape and Surface Code have been shown improved effectiveness for 3D palm recognition. However, both methods lack theoretical support for the construction of the feature templates, which limits their matching accuracy and efficiency. In this paper, we further advance the Surface Code method and introduce the Efficient Surface Code, which describes whether a point tends to be concave or convex using only one bit per pixel. Our investigation also reveals that the discriminative abilities of the convex and concave regions are not necessarily equal. For example, line patterns on human palms and finger knuckles are expected to reveal more discriminative information than non-line regions. Therefore, we also propose a weighted similarity method in conjunction with the Efficient Surface Code instead of the traditional Hamming distance adopted in both Binary Shape and Surface Code. Comparative experimental results on both 3D palmprint and 3D finger knuckle databases illustrate superior performance to the aforementioned state-of-the-art methods, which validates our theoretical arguments.